diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 9eb0c6847d..12db5bb2ca 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,5 +1,6 @@ 0.4.5 (in development) ------------------------------------------------------------------------ +- Feature: [#19547] Add large sloped turns to hybrid coaster and single rail coaster. - Improved: [#18490] Reduce guests walking through trains on level crossing next to station. - Improved: [#19764] Miscellaneous scenery tab now grouped next to the all-scenery tab. - Fix: [#18895] Responding mechanic blocked at level crossing. diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index cf6c84183d..97a6ac4e5c 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -9939,6 +9939,1242 @@ "y_offset": -44, "palette": "keep" }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_1_1.png", + "x_offset": -34, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_1_2.png", + "x_offset": -32, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_1_3.png", + "x_offset": -3, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_1_4.png", + "x_offset": -28, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_2_1.png", + "x_offset": -34, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_2_2.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_3_1.png", + "x_offset": -8, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_3_3.png", + "x_offset": -32, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_3_4.png", + "x_offset": -24, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_4_1.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_4_2.png", + "x_offset": -31, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_1_1.png", + "x_offset": -34, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_1_2.png", + "x_offset": -21, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_1_3.png", + "x_offset": -15, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_2_1.png", + "x_offset": -34, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_2_2.png", + "x_offset": -34, + "y_offset": -10, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_2_3.png", + "x_offset": -2, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_2_4.png", + "x_offset": -11, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_3_1.png", + "x_offset": -13, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_4_1.png", + "x_offset": -30, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_4_2.png", + "x_offset": -20, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_diag_gentle_up_4_4.png", + "x_offset": -24, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_2_1.png", + "x_offset": -24, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_2_3.png", + "x_offset": -23, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_2_4.png", + "x_offset": -27, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_3_3.png", + "x_offset": -23, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_3_4.png", + "x_offset": -34, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_4_1.png", + "x_offset": -26, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_4_3.png", + "x_offset": -31, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_to_orthogonal_gentle_up_4_4.png", + "x_offset": -34, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_2_1.png", + "x_offset": 0, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_2_4.png", + "x_offset": -34, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_3_3.png", + "x_offset": -16, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_3_4.png", + "x_offset": -34, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_4_1.png", + "x_offset": -24, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_4_3.png", + "x_offset": -22, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_to_orthogonal_gentle_up_4_4.png", + "x_offset": -32, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_left_bank_diag_2.png", + "x_offset": -26, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_left_bank_diag_4.png", + "x_offset": -24, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_right_bank_diag_2.png", + "x_offset": -24, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -32, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_to_gentle_up_right_bank_diag_4.png", + "x_offset": -26, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_1.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_gentle_up_diag_2.png", + "x_offset": -26, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_gentle_up_diag_3.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_gentle_up_diag_4.png", + "x_offset": -24, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_gentle_up_diag_1.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_gentle_up_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_1.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_gentle_up_diag_4.png", + "x_offset": -26, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/rmc/left_bank_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/left_bank_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/left_bank_to_gentle_up_left_bank_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/left_bank_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/rmc/left_bank_to_gentle_up_left_bank_diag_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/rmc/right_bank_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/rmc/right_bank_to_gentle_up_right_bank_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/right_bank_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/right_bank_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/right_bank_to_gentle_up_right_bank_diag_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_left_bank_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_left_bank_diag_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_right_bank_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_right_bank_diag_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_right_bank_diag_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_diag_4.png", + "x_offset": -24, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_diag_3_1.png", + "x_offset": -32, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_diag_4.png", + "x_offset": -24, + "y_offset": -41, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_left_bank_diag_2.png", + "x_offset": -26, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_left_bank_diag_4.png", + "x_offset": -24, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_right_bank_diag_2.png", + "x_offset": -24, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/flat_to_gentle_up_right_bank_diag_4.png", + "x_offset": -26, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_flat_diag_1_1.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_flat_diag_1_2.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_flat_diag_2.png", + "x_offset": -26, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_flat_diag_3.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_left_bank_to_flat_diag_4.png", + "x_offset": -24, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_flat_diag_1.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_flat_diag_2.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_flat_diag_3_1.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_flat_diag_3_2.png", + "x_offset": -32, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/rmc/gentle_up_right_bank_to_flat_diag_4.png", + "x_offset": -25, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_1_1.png", + "x_offset": -34, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_1_2.png", + "x_offset": -32, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_1_3.png", + "x_offset": 1, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_1_4.png", + "x_offset": -28, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_2_1.png", + "x_offset": -34, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_2_2.png", + "x_offset": -32, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_3_1.png", + "x_offset": -11, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_3_3.png", + "x_offset": -31, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_3_4.png", + "x_offset": -24, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_4_1.png", + "x_offset": -32, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_4_2.png", + "x_offset": -31, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_1_1.png", + "x_offset": -34, + "y_offset": -31, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_1_2.png", + "x_offset": -24, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_1_3.png", + "x_offset": -16, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_2_1.png", + "x_offset": -34, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_2_2.png", + "x_offset": -34, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_2_3.png", + "x_offset": -2, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_2_4.png", + "x_offset": -15, + "y_offset": -35, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_3_1.png", + "x_offset": -13, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -17, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_4_1.png", + "x_offset": -30, + "y_offset": -39, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_4_2.png", + "x_offset": -20, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_diag_gentle_up_4_4.png", + "x_offset": -24, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_5.png", + "x_offset": -20, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_6.png", + "x_offset": -32, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_7.png", + "x_offset": -32, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_8.png", + "x_offset": -32, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": -24, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -23, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -27, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -34, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -27, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -31, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -34, + "y_offset": -40, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": 0, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -34, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -24, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": -32, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_5.png", + "x_offset": 0, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_6.png", + "x_offset": -16, + "y_offset": -16, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_7.png", + "x_offset": -9, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_8.png", + "x_offset": -34, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -24, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -22, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -32, + "y_offset": -40, + "palette": "keep" + }, { "path": "track/rmc/flat_lift_1.png", "x_offset": -34, @@ -13829,6 +15065,246 @@ "x_offset": -20, "y_offset": -21 }, + { + "path": "track/raptor/large_corkscrew_left_1_1.png", + "x_offset": -18, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_1_2.png", + "x_offset": -18, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_1_3.png", + "x_offset": -26, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_1_4.png", + "x_offset": -20, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_1_5.png", + "x_offset": -18, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_2_1.png", + "x_offset": -18, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_2_2.png", + "x_offset": -32, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_2_3.png", + "x_offset": -20, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_2_4.png", + "x_offset": -15, + "y_offset": -50, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_2_5.png", + "x_offset": -12, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_3_1.png", + "x_offset": -16, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_3_2.png", + "x_offset": -13, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_3_3.png", + "x_offset": 17, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_3_4.png", + "x_offset": -8, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_3_5.png", + "x_offset": -16, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_4_1.png", + "x_offset": -20, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_4_2.png", + "x_offset": -19, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_4_3.png", + "x_offset": -10, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_4_4.png", + "x_offset": -16, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_left_4_5.png", + "x_offset": -18, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_1_1.png", + "x_offset": -18, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_1_2.png", + "x_offset": -18, + "y_offset": -20, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_1_3.png", + "x_offset": -16, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_1_4.png", + "x_offset": -27, + "y_offset": -27, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_1_5.png", + "x_offset": -32, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_2_1.png", + "x_offset": -18, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_2_2.png", + "x_offset": -16, + "y_offset": -18, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_2_3.png", + "x_offset": -24, + "y_offset": -21, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_2_4.png", + "x_offset": -16, + "y_offset": -30, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_2_5.png", + "x_offset": -18, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_3_1.png", + "x_offset": -40, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_3_2.png", + "x_offset": -16, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_3_3.png", + "x_offset": -21, + "y_offset": -43, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_3_4.png", + "x_offset": -25, + "y_offset": -50, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_3_5.png", + "x_offset": -18, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_4_1.png", + "x_offset": -20, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_4_2.png", + "x_offset": -11, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_4_3.png", + "x_offset": 17, + "y_offset": -33, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_4_4.png", + "x_offset": -11, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/raptor/large_corkscrew_right_4_5.png", + "x_offset": -18, + "y_offset": -29, + "palette": "keep" + }, { "path": "track/raptor/small_turn_left_bank_to_gentle_up_1_1.png", "x_offset": -23, @@ -13919,6 +15395,246 @@ "x_offset": -14, "y_offset": -9 }, + { + "path": "track/raptor/medium_half_loop_left_1_1.png", + "x_offset": -18, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_1_2.png", + "x_offset": -18, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_1_3.png", + "x_offset": -26, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_1_4.png", + "x_offset": -1, + "y_offset": -115, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_1_5.png", + "x_offset": -18, + "y_offset": -26, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_2_1.png", + "x_offset": -18, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_2_2.png", + "x_offset": -32, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_2_3.png", + "x_offset": 0, + "y_offset": -83, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_2_4.png", + "x_offset": -27, + "y_offset": -142, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_2_5.png", + "x_offset": -18, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_3_1.png", + "x_offset": -20, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_3_2.png", + "x_offset": 0, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_3_3.png", + "x_offset": 1, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_3_4.png", + "x_offset": -30, + "y_offset": -147, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_3_5.png", + "x_offset": -15, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_4_1.png", + "x_offset": -20, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_4_2.png", + "x_offset": -22, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_4_3.png", + "x_offset": -28, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_4_4.png", + "x_offset": -6, + "y_offset": -119, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_left_4_5.png", + "x_offset": -23, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_1_1.png", + "x_offset": -18, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_1_2.png", + "x_offset": -17, + "y_offset": -19, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_1_3.png", + "x_offset": -15, + "y_offset": -25, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_1_4.png", + "x_offset": -13, + "y_offset": -119, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_1_5.png", + "x_offset": -18, + "y_offset": -29, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_2_1.png", + "x_offset": -18, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_2_2.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_2_3.png", + "x_offset": -32, + "y_offset": -52, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_2_4.png", + "x_offset": -22, + "y_offset": -147, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_2_5.png", + "x_offset": -18, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_3_1.png", + "x_offset": -34, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_3_2.png", + "x_offset": -32, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_3_3.png", + "x_offset": -32, + "y_offset": -83, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_3_4.png", + "x_offset": -6, + "y_offset": -142, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_3_5.png", + "x_offset": -10, + "y_offset": -37, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_4_1.png", + "x_offset": -20, + "y_offset": -28, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_4_2.png", + "x_offset": -13, + "y_offset": -45, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_4_3.png", + "x_offset": 1, + "y_offset": -70, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_4_4.png", + "x_offset": -31, + "y_offset": -115, + "palette": "keep" + }, + { + "path": "track/raptor/medium_half_loop_right_4_5.png", + "x_offset": -32, + "y_offset": -26, + "palette": "keep" + }, { "path": "track/raptor/large_half_loop_left_1_1.png", "x_offset": -18, @@ -14199,586 +15915,6 @@ "x_offset": -27, "y_offset": -9 }, - { - "path": "track/raptor/small_flat_to_steep_up_1.png", - "x_offset": -18, - "y_offset": -22 - }, - { - "path": "track/raptor/small_flat_to_steep_up_2_1.png", - "x_offset": -18, - "y_offset": 2 - }, - { - "path": "track/raptor/small_flat_to_steep_up_2_2.png", - "x_offset": -13, - "y_offset": -6 - }, - { - "path": "track/raptor/small_flat_to_steep_up_3_1.png", - "x_offset": -3, - "y_offset": 2 - }, - { - "path": "track/raptor/small_flat_to_steep_up_3_2.png", - "x_offset": -21, - "y_offset": -6 - }, - { - "path": "track/raptor/small_flat_to_steep_up_4.png", - "x_offset": -21, - "y_offset": -22 - }, - { - "path": "track/raptor/small_steep_to_flat_up_1.png", - "x_offset": -18, - "y_offset": -22 - }, - { - "path": "track/raptor/small_steep_to_flat_up_2_1.png", - "x_offset": -10, - "y_offset": -10 - }, - { - "path": "track/raptor/small_steep_to_flat_up_2_2.png", - "x_offset": -18, - "y_offset": -5 - }, - { - "path": "track/raptor/small_steep_to_flat_up_3_1.png", - "x_offset": -18, - "y_offset": -10 - }, - { - "path": "track/raptor/small_steep_to_flat_up_3_2.png", - "x_offset": -4, - "y_offset": -5 - }, - { - "path": "track/raptor/small_steep_to_flat_up_4.png", - "x_offset": -18, - "y_offset": -22 - }, - { - "path": "track/raptor/small_flat_to_steep_up_diag_1.png", - "x_offset": -32, - "y_offset": -15 - }, - { - "path": "track/raptor/small_flat_to_steep_up_diag_2.png", - "x_offset": -3, - "y_offset": -6 - }, - { - "path": "track/raptor/small_flat_to_steep_up_diag_3.png", - "x_offset": -32, - "y_offset": -15 - }, - { - "path": "track/raptor/small_flat_to_steep_up_diag_4.png", - "x_offset": -3, - "y_offset": -30 - }, - { - "path": "track/raptor/small_steep_to_flat_up_diag_1.png", - "x_offset": -32, - "y_offset": -15 - }, - { - "path": "track/raptor/small_steep_to_flat_up_diag_2.png", - "x_offset": -3, - "y_offset": -10 - }, - { - "path": "track/raptor/small_steep_to_flat_up_diag_3.png", - "x_offset": -32, - "y_offset": -15 - }, - { - "path": "track/raptor/small_steep_to_flat_up_diag_4.png", - "x_offset": -3, - "y_offset": -30 - }, - { - "path": "track/raptor/large_corkscrew_left_1_1.png", - "x_offset": -18, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_1_2.png", - "x_offset": -18, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_1_3.png", - "x_offset": -26, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_1_4.png", - "x_offset": -20, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_1_5.png", - "x_offset": -18, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_2_1.png", - "x_offset": -18, - "y_offset": 2, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_2_2.png", - "x_offset": -32, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_2_3.png", - "x_offset": -20, - "y_offset": -43, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_2_4.png", - "x_offset": -15, - "y_offset": -50, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_2_5.png", - "x_offset": -12, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_3_1.png", - "x_offset": -16, - "y_offset": 2, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_3_2.png", - "x_offset": -13, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_3_3.png", - "x_offset": 17, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_3_4.png", - "x_offset": -8, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_3_5.png", - "x_offset": -16, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_4_1.png", - "x_offset": -20, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_4_2.png", - "x_offset": -19, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_4_3.png", - "x_offset": -10, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_4_4.png", - "x_offset": -16, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_left_4_5.png", - "x_offset": -18, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_1_1.png", - "x_offset": -18, - "y_offset": -5, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_1_2.png", - "x_offset": -18, - "y_offset": -20, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_1_3.png", - "x_offset": -16, - "y_offset": -7, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_1_4.png", - "x_offset": -27, - "y_offset": -27, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_1_5.png", - "x_offset": -32, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_2_1.png", - "x_offset": -18, - "y_offset": 2, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_2_2.png", - "x_offset": -16, - "y_offset": -18, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_2_3.png", - "x_offset": -24, - "y_offset": -21, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_2_4.png", - "x_offset": -16, - "y_offset": -30, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_2_5.png", - "x_offset": -18, - "y_offset": -22, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_3_1.png", - "x_offset": -40, - "y_offset": 1, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_3_2.png", - "x_offset": -16, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_3_3.png", - "x_offset": -21, - "y_offset": -43, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_3_4.png", - "x_offset": -25, - "y_offset": -50, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_3_5.png", - "x_offset": -18, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_4_1.png", - "x_offset": -20, - "y_offset": -6, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_4_2.png", - "x_offset": -11, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_4_3.png", - "x_offset": 17, - "y_offset": -33, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_4_4.png", - "x_offset": -11, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/raptor/large_corkscrew_right_4_5.png", - "x_offset": -18, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_1_1.png", - "x_offset": -18, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_1_2.png", - "x_offset": -18, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_1_3.png", - "x_offset": -26, - "y_offset": -70, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_1_4.png", - "x_offset": -1, - "y_offset": -115, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_1_5.png", - "x_offset": -18, - "y_offset": -26, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_2_1.png", - "x_offset": -18, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_2_2.png", - "x_offset": -32, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_2_3.png", - "x_offset": 0, - "y_offset": -83, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_2_4.png", - "x_offset": -27, - "y_offset": -142, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_2_5.png", - "x_offset": -18, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_3_1.png", - "x_offset": -20, - "y_offset": -2, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_3_2.png", - "x_offset": 0, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_3_3.png", - "x_offset": 1, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_3_4.png", - "x_offset": -30, - "y_offset": -147, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_3_5.png", - "x_offset": -15, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_4_1.png", - "x_offset": -20, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_4_2.png", - "x_offset": -22, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_4_3.png", - "x_offset": -28, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_4_4.png", - "x_offset": -6, - "y_offset": -119, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_left_4_5.png", - "x_offset": -23, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_1_1.png", - "x_offset": -18, - "y_offset": -12, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_1_2.png", - "x_offset": -17, - "y_offset": -19, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_1_3.png", - "x_offset": -15, - "y_offset": -25, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_1_4.png", - "x_offset": -13, - "y_offset": -119, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_1_5.png", - "x_offset": -18, - "y_offset": -29, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_2_1.png", - "x_offset": -18, - "y_offset": -2, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_2_2.png", - "x_offset": -32, - "y_offset": -8, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_2_3.png", - "x_offset": -32, - "y_offset": -52, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_2_4.png", - "x_offset": -22, - "y_offset": -147, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_2_5.png", - "x_offset": -18, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_3_1.png", - "x_offset": -34, - "y_offset": -9, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_3_2.png", - "x_offset": -32, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_3_3.png", - "x_offset": -32, - "y_offset": -83, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_3_4.png", - "x_offset": -6, - "y_offset": -142, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_3_5.png", - "x_offset": -10, - "y_offset": -37, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_4_1.png", - "x_offset": -20, - "y_offset": -28, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_4_2.png", - "x_offset": -13, - "y_offset": -45, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_4_3.png", - "x_offset": 1, - "y_offset": -70, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_4_4.png", - "x_offset": -31, - "y_offset": -115, - "palette": "keep" - }, - { - "path": "track/raptor/medium_half_loop_right_4_5.png", - "x_offset": -32, - "y_offset": -26, - "palette": "keep" - }, { "path": "track/raptor/zero_g_roll_left_1_1.png", "x_offset": -18, @@ -15211,6 +16347,1258 @@ "y_offset": -21, "palette": "keep" }, + { + "path": "track/raptor/small_flat_to_steep_up_1.png", + "x_offset": -18, + "y_offset": -22 + }, + { + "path": "track/raptor/small_flat_to_steep_up_2_1.png", + "x_offset": -18, + "y_offset": 2 + }, + { + "path": "track/raptor/small_flat_to_steep_up_2_2.png", + "x_offset": -13, + "y_offset": -6 + }, + { + "path": "track/raptor/small_flat_to_steep_up_3_1.png", + "x_offset": -3, + "y_offset": 2 + }, + { + "path": "track/raptor/small_flat_to_steep_up_3_2.png", + "x_offset": -21, + "y_offset": -6 + }, + { + "path": "track/raptor/small_flat_to_steep_up_4.png", + "x_offset": -21, + "y_offset": -22 + }, + { + "path": "track/raptor/small_steep_to_flat_up_1.png", + "x_offset": -18, + "y_offset": -22 + }, + { + "path": "track/raptor/small_steep_to_flat_up_2_1.png", + "x_offset": -10, + "y_offset": -10 + }, + { + "path": "track/raptor/small_steep_to_flat_up_2_2.png", + "x_offset": -18, + "y_offset": -5 + }, + { + "path": "track/raptor/small_steep_to_flat_up_3_1.png", + "x_offset": -18, + "y_offset": -10 + }, + { + "path": "track/raptor/small_steep_to_flat_up_3_2.png", + "x_offset": -4, + "y_offset": -5 + }, + { + "path": "track/raptor/small_steep_to_flat_up_4.png", + "x_offset": -18, + "y_offset": -22 + }, + { + "path": "track/raptor/small_flat_to_steep_up_diag_1.png", + "x_offset": -32, + "y_offset": -15 + }, + { + "path": "track/raptor/small_flat_to_steep_up_diag_2.png", + "x_offset": -3, + "y_offset": -6 + }, + { + "path": "track/raptor/small_flat_to_steep_up_diag_3.png", + "x_offset": -32, + "y_offset": -15 + }, + { + "path": "track/raptor/small_flat_to_steep_up_diag_4.png", + "x_offset": -3, + "y_offset": -30 + }, + { + "path": "track/raptor/small_steep_to_flat_up_diag_1.png", + "x_offset": -32, + "y_offset": -15 + }, + { + "path": "track/raptor/small_steep_to_flat_up_diag_2.png", + "x_offset": -3, + "y_offset": -10 + }, + { + "path": "track/raptor/small_steep_to_flat_up_diag_3.png", + "x_offset": -32, + "y_offset": -15 + }, + { + "path": "track/raptor/small_steep_to_flat_up_diag_4.png", + "x_offset": -3, + "y_offset": -30 + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_1_1.png", + "x_offset": -18, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_1_2.png", + "x_offset": -26, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_1_3.png", + "x_offset": 19, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_1_4.png", + "x_offset": -7, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_2_1.png", + "x_offset": -18, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_2_2.png", + "x_offset": -16, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 19, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_3_1.png", + "x_offset": -6, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_3_2.png", + "x_offset": 10, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_3_3.png", + "x_offset": -27, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_3_4.png", + "x_offset": -3, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_4_1.png", + "x_offset": -23, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_4_2.png", + "x_offset": -25, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_1_1.png", + "x_offset": -18, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_1_2.png", + "x_offset": -13, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_1_3.png", + "x_offset": -10, + "y_offset": -9, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_2_1.png", + "x_offset": -18, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_2_2.png", + "x_offset": -29, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_2_3.png", + "x_offset": 19, + "y_offset": 4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_2_4.png", + "x_offset": -10, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_3_1.png", + "x_offset": -16, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 19, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_4_1.png", + "x_offset": -12, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_4_2.png", + "x_offset": 5, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_diag_gentle_up_4_4.png", + "x_offset": -3, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_1_4.png", + "x_offset": -27, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_2_1.png", + "x_offset": -3, + "y_offset": 10, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_2_3.png", + "x_offset": 0, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_2_4.png", + "x_offset": -16, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_3_3.png", + "x_offset": -22, + "y_offset": 3, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_3_4.png", + "x_offset": -19, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_4_1.png", + "x_offset": -6, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_4_3.png", + "x_offset": -19, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_to_orthogonal_gentle_up_4_4.png", + "x_offset": -19, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": 3, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_1_4.png", + "x_offset": -14, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_2_1.png", + "x_offset": -3, + "y_offset": 10, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_2_4.png", + "x_offset": -19, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_3_3.png", + "x_offset": -10, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_3_4.png", + "x_offset": -19, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_4_1.png", + "x_offset": -3, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_4_3.png", + "x_offset": -1, + "y_offset": -1, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_to_orthogonal_gentle_up_4_4.png", + "x_offset": -19, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -31, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_left_bank_diag_2.png", + "x_offset": -5, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_left_bank_diag_4.png", + "x_offset": -3, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_right_bank_diag_2.png", + "x_offset": -3, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -29, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_to_gentle_up_right_bank_diag_4.png", + "x_offset": -6, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_1.png", + "x_offset": -14, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_2.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_gentle_up_diag_2.png", + "x_offset": -5, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_gentle_up_diag_3.png", + "x_offset": -32, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_gentle_up_diag_4.png", + "x_offset": -3, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_gentle_up_diag_1.png", + "x_offset": -32, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_gentle_up_diag_2.png", + "x_offset": -3, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_1.png", + "x_offset": -32, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_2.png", + "x_offset": -31, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_gentle_up_diag_4.png", + "x_offset": -6, + "y_offset": -22, + "palette": "keep" + }, + { + "path": "track/raptor/left_bank_to_gentle_up_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/left_bank_to_gentle_up_left_bank_diag_2.png", + "x_offset": -6, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/left_bank_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/left_bank_to_gentle_up_left_bank_diag_4.png", + "x_offset": -2, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/right_bank_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/right_bank_to_gentle_up_right_bank_diag_2.png", + "x_offset": -2, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/right_bank_to_gentle_up_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/right_bank_to_gentle_up_right_bank_diag_4.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_left_bank_diag_2.png", + "x_offset": -6, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_left_bank_diag_4.png", + "x_offset": -2, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_right_bank_diag_2.png", + "x_offset": -2, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_right_bank_diag_4.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_diag_1.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_diag_2.png", + "x_offset": -6, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_diag_4.png", + "x_offset": -2, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_diag_2.png", + "x_offset": -2, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_diag_3.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_diag_4.png", + "x_offset": -6, + "y_offset": -23, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_left_bank_diag_1_1.png", + "x_offset": -32, + "y_offset": 7, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_left_bank_diag_1_2.png", + "x_offset": -29, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_left_bank_diag_2.png", + "x_offset": -5, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_left_bank_diag_3.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_left_bank_diag_4.png", + "x_offset": -3, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_right_bank_diag_1.png", + "x_offset": -32, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_right_bank_diag_2.png", + "x_offset": -3, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_right_bank_diag_3_1.png", + "x_offset": -29, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_right_bank_diag_3_2.png", + "x_offset": -32, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/flat_to_gentle_up_right_bank_diag_4.png", + "x_offset": -6, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_flat_diag_1_1.png", + "x_offset": -9, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_flat_diag_1_2.png", + "x_offset": -32, + "y_offset": 6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_flat_diag_2.png", + "x_offset": -5, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_flat_diag_3.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_left_bank_to_flat_diag_4.png", + "x_offset": -3, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_flat_diag_1.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_flat_diag_2.png", + "x_offset": -3, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_flat_diag_3_1.png", + "x_offset": -32, + "y_offset": 1, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_flat_diag_3_2.png", + "x_offset": -30, + "y_offset": 6, + "palette": "keep" + }, + { + "path": "track/raptor/gentle_up_right_bank_to_flat_diag_4.png", + "x_offset": -6, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_1_1.png", + "x_offset": -17, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_1_2.png", + "x_offset": -24, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_1_3.png", + "x_offset": 21, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_1_4.png", + "x_offset": -6, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_2_1.png", + "x_offset": -19, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_2_2.png", + "x_offset": -16, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_2_3.png", + "x_offset": -24, + "y_offset": 19, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_2_4.png", + "x_offset": -32, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_3_1.png", + "x_offset": -7, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_3_2.png", + "x_offset": 10, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_3_3.png", + "x_offset": -28, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_3_4.png", + "x_offset": -5, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_4_1.png", + "x_offset": -22, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_4_2.png", + "x_offset": -24, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_4_3.png", + "x_offset": 0, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_diag_gentle_up_4_4.png", + "x_offset": 0, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_1_1.png", + "x_offset": -19, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_1_2.png", + "x_offset": -14, + "y_offset": -5, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_1_3.png", + "x_offset": -10, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_1_4.png", + "x_offset": -32, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_2_1.png", + "x_offset": -17, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_2_2.png", + "x_offset": -28, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_2_3.png", + "x_offset": 19, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_2_4.png", + "x_offset": -9, + "y_offset": -12, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_3_1.png", + "x_offset": -16, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_3_2.png", + "x_offset": -8, + "y_offset": -7, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_3_3.png", + "x_offset": 0, + "y_offset": 19, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_3_4.png", + "x_offset": 0, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_4_1.png", + "x_offset": -13, + "y_offset": -13, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_4_2.png", + "x_offset": -1, + "y_offset": -24, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_4_3.png", + "x_offset": -32, + "y_offset": 8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_diag_gentle_up_4_4.png", + "x_offset": -6, + "y_offset": -6, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -26, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": -5, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": 0, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -16, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -22, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -20, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -4, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -18, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -18, + "y_offset": -15, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png", + "x_offset": 0, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png", + "x_offset": -32, + "y_offset": 2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png", + "x_offset": -13, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png", + "x_offset": -2, + "y_offset": 9, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png", + "x_offset": -16, + "y_offset": -3, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png", + "x_offset": -18, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png", + "x_offset": -32, + "y_offset": -4, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png", + "x_offset": -9, + "y_offset": -11, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png", + "x_offset": -20, + "y_offset": -14, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png", + "x_offset": -6, + "y_offset": -8, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png", + "x_offset": 0, + "y_offset": 0, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png", + "x_offset": -3, + "y_offset": -2, + "palette": "keep" + }, + { + "path": "track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png", + "x_offset": -20, + "y_offset": -15, + "palette": "keep" + }, { "path": "track/raptor/flat_lift_1.png", "x_offset": -18, diff --git a/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000..8c4bdd6b5f Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000..388d7d2217 Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..efcf6e75d4 Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..efa798070d Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..1a58db301a Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..28a9611c1c Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..7f1bcacc17 Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..8fdee0039a Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_3_2.png b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..74aedb5711 Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..cd92af0f6a Binary files /dev/null and b/resources/g2/track/raptor/flat_to_gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_diag_1.png b/resources/g2/track/raptor/gentle_up_left_bank_diag_1.png new file mode 100644 index 0000000000..56bdc81124 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_diag_2.png b/resources/g2/track/raptor/gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..ec29c1ff96 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_diag_3.png b/resources/g2/track/raptor/gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..286cb8e58b Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_diag_4.png b/resources/g2/track/raptor/gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..d54a58e783 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_1_1.png b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_1_1.png new file mode 100644 index 0000000000..981c94f5e3 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_1_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_1_2.png b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_1_2.png new file mode 100644 index 0000000000..ae52f9e92e Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_1_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_2.png b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_2.png new file mode 100644 index 0000000000..4024a8753e Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_3.png b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_3.png new file mode 100644 index 0000000000..b85caf6026 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_4.png b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_4.png new file mode 100644 index 0000000000..adb73f6769 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_flat_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_1.png b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_1.png new file mode 100644 index 0000000000..507fae2dd7 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_2.png b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_2.png new file mode 100644 index 0000000000..9151b84bcd Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_1_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_2.png b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_2.png new file mode 100644 index 0000000000..bbb66fc3ef Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_3.png b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_3.png new file mode 100644 index 0000000000..3b9a1b2f84 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_4.png b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_4.png new file mode 100644 index 0000000000..7c820c05d4 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_gentle_up_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_1.png b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_1.png new file mode 100644 index 0000000000..be5e84185c Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_2.png b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_2.png new file mode 100644 index 0000000000..bb87f24c48 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_3.png b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_3.png new file mode 100644 index 0000000000..10fc30cc4c Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_4.png b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_4.png new file mode 100644 index 0000000000..9557e14df1 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_left_bank_to_left_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_diag_1.png b/resources/g2/track/raptor/gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..a3c4e15452 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_diag_2.png b/resources/g2/track/raptor/gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..a98a28ad7e Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_diag_3.png b/resources/g2/track/raptor/gentle_up_right_bank_diag_3.png new file mode 100644 index 0000000000..db041a2725 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_diag_4.png b/resources/g2/track/raptor/gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..b9fec34aef Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_1.png b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_1.png new file mode 100644 index 0000000000..b7a3c522a3 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_2.png b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_2.png new file mode 100644 index 0000000000..56d09ec88c Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_3_1.png b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_3_1.png new file mode 100644 index 0000000000..3e8695325f Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_3_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_3_2.png b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_3_2.png new file mode 100644 index 0000000000..464dcede98 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_3_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_4.png b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_4.png new file mode 100644 index 0000000000..7416b0af35 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_flat_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_1.png b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_1.png new file mode 100644 index 0000000000..c47c17de60 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_2.png b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_2.png new file mode 100644 index 0000000000..e121987a6b Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_1.png b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_1.png new file mode 100644 index 0000000000..5d60c327a5 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_2.png b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_2.png new file mode 100644 index 0000000000..487c8c822c Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_3_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_4.png b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_4.png new file mode 100644 index 0000000000..d98a555361 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_gentle_up_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_1.png b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_1.png new file mode 100644 index 0000000000..d22bd55346 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_2.png b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_2.png new file mode 100644 index 0000000000..e33d45adc5 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_3.png b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_3.png new file mode 100644 index 0000000000..6b1b233ad7 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_4.png b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_4.png new file mode 100644 index 0000000000..8badb29775 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_right_bank_to_right_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000..45f9088d6c Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000..438ea00866 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..1761c9bf86 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..580aab0764 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..7af3396e86 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..e441b0edb1 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..abd1e7552d Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..772c119481 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_2.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..524538e29d Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..8d63d085f3 Binary files /dev/null and b/resources/g2/track/raptor/gentle_up_to_gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..25906925c7 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..af8f31f7e3 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..03c8817b6f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..5864a2475a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..39d2fa1b27 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..8a585d9824 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..582fa77035 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..800733bea3 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..eb32fd4d13 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..1a92e2b1a9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..9a560f6b7a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..f29be74cf0 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..0dfa62b8c4 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..b8431baf88 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..f746449c75 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..d4187c867e Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..9ace92e4a9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..fc57cad549 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..d825e014d0 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..f3e00c9724 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..45382eda15 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..80502709a3 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..ead34b6ed6 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..a845fbddef Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..a2d700f81a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..eda5cae2fa Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..410c4ab88e Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..e5d2c3176b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1.png new file mode 100644 index 0000000000..2970737015 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_1.png new file mode 100644 index 0000000000..1888d21f2f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_2.png new file mode 100644 index 0000000000..1888d21f2f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_3.png new file mode 100644 index 0000000000..1888d21f2f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_4.png new file mode 100644 index 0000000000..1888d21f2f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2.png new file mode 100644 index 0000000000..946531cb66 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_1.png new file mode 100644 index 0000000000..d8f2a4228b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_2.png new file mode 100644 index 0000000000..d8f2a4228b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_3.png new file mode 100644 index 0000000000..d8f2a4228b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_4.png new file mode 100644 index 0000000000..d8f2a4228b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3.png new file mode 100644 index 0000000000..460e01a1d7 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_1.png new file mode 100644 index 0000000000..3cfd613d96 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_2.png new file mode 100644 index 0000000000..3cfd613d96 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_3.png new file mode 100644 index 0000000000..3cfd613d96 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_4.png new file mode 100644 index 0000000000..3cfd613d96 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4.png new file mode 100644 index 0000000000..37be45e74c Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_1.png new file mode 100644 index 0000000000..bcd4f8d788 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_2.png new file mode 100644 index 0000000000..bcd4f8d788 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_3.png new file mode 100644 index 0000000000..bcd4f8d788 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_4.png new file mode 100644 index 0000000000..bcd4f8d788 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_down_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1.png new file mode 100644 index 0000000000..0d2b4301ee Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..0059c14082 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..251b76afe7 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..47edcc4732 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..970222bead Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2.png new file mode 100644 index 0000000000..ee15207c38 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..1b3e14e974 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..f2ff46d682 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..32b8b5144c Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..8cb5242f57 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3.png new file mode 100644 index 0000000000..0a5f7938a9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..a3b8ab423c Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..1d4dd5b3fe Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..dc42934761 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..0368f40045 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4.png new file mode 100644 index 0000000000..a85ae87290 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..09bdd5b4f0 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..5219ca3e6b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..1fc11f68f3 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..fe9339ec87 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..363938a791 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..9096c36a9d Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..4dcbbe18c1 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..75f62ea0f1 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..ea51c33ca9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..22982d6f9e Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..e496be75a6 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..641343f18c Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..e3b99d46a5 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..ec74a04ae1 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..d84f6cc286 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..09afe6756d Binary files /dev/null and b/resources/g2/track/raptor/large_turn_left_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..d15dc37324 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..d34784b7ab Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..b0d94c6997 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..5282bcba6c Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..ea1c1c3672 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..22c0873d23 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..de0610c0a2 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..2269d62170 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..e46bf6d138 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..33b285c89e Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..d8e9de45ca Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..6c0fd7c77a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..6fb2654076 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..d9856ecfb5 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..e045a5e814 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..1a19af28c1 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..5720e595c1 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..b89428df47 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..59487d0bfc Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..c69b37b686 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..cc38c7f313 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..1ef5645e94 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..859c3b35e6 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..edc9ba5002 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..c4892dc693 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..062a5edbd8 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..f7af8832bb Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..be90dd0aa8 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1.png new file mode 100644 index 0000000000..93ff9bac6f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_1.png new file mode 100644 index 0000000000..9f30b16ca8 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_2.png new file mode 100644 index 0000000000..9f30b16ca8 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_3.png new file mode 100644 index 0000000000..9f30b16ca8 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_4.png new file mode 100644 index 0000000000..9f30b16ca8 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2.png new file mode 100644 index 0000000000..c66c2c86d9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_1.png new file mode 100644 index 0000000000..31995fb2d2 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_2.png new file mode 100644 index 0000000000..31995fb2d2 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_3.png new file mode 100644 index 0000000000..31995fb2d2 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_4.png new file mode 100644 index 0000000000..31995fb2d2 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3.png new file mode 100644 index 0000000000..fb5805e4ae Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_1.png new file mode 100644 index 0000000000..5324668549 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_2.png new file mode 100644 index 0000000000..5324668549 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_3.png new file mode 100644 index 0000000000..5324668549 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_4.png new file mode 100644 index 0000000000..5324668549 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4.png new file mode 100644 index 0000000000..dfb0787c9e Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_1.png new file mode 100644 index 0000000000..f8e74542f4 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_2.png new file mode 100644 index 0000000000..f8e74542f4 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_3.png new file mode 100644 index 0000000000..f8e74542f4 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_4.png new file mode 100644 index 0000000000..f8e74542f4 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_down_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1.png new file mode 100644 index 0000000000..bb8cd6aa43 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..14f61606d6 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..46aeb2577e Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..b6592d1969 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..f614d942e9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2.png new file mode 100644 index 0000000000..a3948bb29f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..b6fe2cde2c Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..111032c787 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..be1ede3028 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..e190eb5aab Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3.png new file mode 100644 index 0000000000..01bb2871c9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..2c8be0ef91 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..50ca19f1e7 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..23775a6031 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..237170f1dd Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4.png new file mode 100644 index 0000000000..3712a8597a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..d294637246 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..a9a61d347f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..e1f9c7d240 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..5423cc6cbd Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..8ba64b168a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..35491b59e7 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..1af6a1965a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..a5e5e5db6a Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..bb5974b81d Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..f06337c4ee Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..d8b90fc7f9 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..71aaddd0e3 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..3cce22066b Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..00f12c9ab0 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..551982e03f Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..a4a9138eac Binary files /dev/null and b/resources/g2/track/raptor/large_turn_right_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_1.png b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_1.png new file mode 100644 index 0000000000..bccd4ad600 Binary files /dev/null and b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..a59c137ace Binary files /dev/null and b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..a29389d012 Binary files /dev/null and b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3_1.png b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3_1.png new file mode 100644 index 0000000000..088f0e9a25 Binary files /dev/null and b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3_1.png differ diff --git a/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3_2.png b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_3_2.png differ diff --git a/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..44309938ea Binary files /dev/null and b/resources/g2/track/raptor/left_bank_to_gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..6b6d40c101 Binary files /dev/null and b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..a6e0475ba1 Binary files /dev/null and b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3.png b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3.png new file mode 100644 index 0000000000..f1fd5ad8c4 Binary files /dev/null and b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3.png differ diff --git a/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3_2.png b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..25dfeb1595 Binary files /dev/null and b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..6b0a5d385c Binary files /dev/null and b/resources/g2/track/raptor/right_bank_to_gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000..c545f1b2c7 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000..9a79dc2bf0 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..ad8bb83ce9 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..e4e41e7504 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..d79d7881df Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..07506249c2 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..e77814b33f Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..3a484415d6 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_3_2.png b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..9bed49f265 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..f852ca06f6 Binary files /dev/null and b/resources/g2/track/rmc/flat_to_gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_diag_1.png b/resources/g2/track/rmc/gentle_up_left_bank_diag_1.png new file mode 100644 index 0000000000..e28c369325 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_diag_1_1.png b/resources/g2/track/rmc/gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000..db43a0e1dd Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_diag_1_2.png b/resources/g2/track/rmc/gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000..5815afd6fd Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_diag_2.png b/resources/g2/track/rmc/gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..0f0a2b7ee1 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_diag_3.png b/resources/g2/track/rmc/gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..e0d3746ae5 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_diag_4.png b/resources/g2/track/rmc/gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..8ddcd344f9 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_1_1.png b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_1_1.png new file mode 100644 index 0000000000..78b8bb0b2b Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_1_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_1_2.png b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_1_2.png new file mode 100644 index 0000000000..27196a4b0d Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_1_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_2.png b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_2.png new file mode 100644 index 0000000000..6f83fb0498 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_3.png b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_3.png new file mode 100644 index 0000000000..ef077a1623 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_4.png b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_4.png new file mode 100644 index 0000000000..8db321c799 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_flat_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_1.png b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_1.png new file mode 100644 index 0000000000..6f6448b38c Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_2.png b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_2.png new file mode 100644 index 0000000000..5c4ce03865 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_1_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_2.png b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_2.png new file mode 100644 index 0000000000..f14eef98ef Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_3.png b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_3.png new file mode 100644 index 0000000000..b199e5af7a Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_4.png b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_4.png new file mode 100644 index 0000000000..f9eb3054f4 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_gentle_up_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1.png b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1.png new file mode 100644 index 0000000000..c44de79e0a Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1_1.png b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1_1.png new file mode 100644 index 0000000000..5f14964fcf Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1_2.png b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1_2.png new file mode 100644 index 0000000000..da4b0088a8 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_2.png b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_2.png new file mode 100644 index 0000000000..0a9412ea05 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_3.png b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_3.png new file mode 100644 index 0000000000..675f2aaf05 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_4.png b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_4.png new file mode 100644 index 0000000000..8d363450e0 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_left_bank_to_left_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_diag_1.png b/resources/g2/track/rmc/gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..aa2d3cde45 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_diag_2.png b/resources/g2/track/rmc/gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..773a521225 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_diag_3.png b/resources/g2/track/rmc/gentle_up_right_bank_diag_3.png new file mode 100644 index 0000000000..7ca22435ea Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_diag_3_1.png b/resources/g2/track/rmc/gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..3d070a87bf Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_diag_3_2.png b/resources/g2/track/rmc/gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..16273af656 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_diag_4.png b/resources/g2/track/rmc/gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..4e13cdc84f Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_1.png b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_1.png new file mode 100644 index 0000000000..73ca3e6381 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_2.png b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_2.png new file mode 100644 index 0000000000..9d0fa979b1 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_3_1.png b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_3_1.png new file mode 100644 index 0000000000..a5274620b6 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_3_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_3_2.png b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_3_2.png new file mode 100644 index 0000000000..af1e1ee8d7 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_3_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_4.png b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_4.png new file mode 100644 index 0000000000..8d0ae309af Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_flat_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_1.png b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_1.png new file mode 100644 index 0000000000..19f542b275 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_2.png b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_2.png new file mode 100644 index 0000000000..840902221b Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_1.png b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_1.png new file mode 100644 index 0000000000..29875d27cb Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_2.png b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_2.png new file mode 100644 index 0000000000..3b74307642 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_3_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_4.png b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_4.png new file mode 100644 index 0000000000..4a4da9c94d Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_gentle_up_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_1.png b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_1.png new file mode 100644 index 0000000000..b7d65f9aef Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_2.png b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_2.png new file mode 100644 index 0000000000..bace0e7156 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3.png b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3.png new file mode 100644 index 0000000000..0a60b1240c Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3_1.png b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3_1.png new file mode 100644 index 0000000000..90d56dc030 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3_2.png b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3_2.png new file mode 100644 index 0000000000..1e453f873c Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_4.png b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_4.png new file mode 100644 index 0000000000..34be064da4 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_right_bank_to_right_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000..e88c9b484f Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000..1ecd845b82 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..8a67ab0ea8 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..1d08587d92 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..28dae05b12 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..96908a84f1 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..9a717f4e5b Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..33ba937967 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_2.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..7d04b2def5 Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..285e01cf2c Binary files /dev/null and b/resources/g2/track/rmc/gentle_up_to_gentle_up_right_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..8411bf8e59 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..4d8bb89b48 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..6138e9bb06 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..7d2c4288e1 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..358c2a7a1f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..c89ebc213f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..d76fe9f0f8 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..ccee3ffe89 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..40e49a33aa Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..537493471e Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..5fe6c88c4f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..a605b44994 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..03bde15ecc Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..d993246b6a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..a696f358cf Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..99b712c956 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..cd474bc5fa Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..2c01a4558e Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_5.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_5.png new file mode 100644 index 0000000000..ff8c3894b1 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_5.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_6.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_6.png new file mode 100644 index 0000000000..c02f544408 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_6.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_7.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_7.png new file mode 100644 index 0000000000..f8d3f8e82b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_7.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_8.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_8.png new file mode 100644 index 0000000000..abf382de42 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_1_8.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..8a5a46c004 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..2c907c0d9a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..b4b303c76f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..f0d59b2dd3 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..428fc405eb Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..b0a56b5de9 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..561212615a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..cf42fc65a3 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..143047ba4c Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_bank_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..87e54e17d6 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..bf0e448bf0 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..55eabd11df Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..1e689a68c9 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..148c0600ac Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..dd2013180e Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..27cfecbe1f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..05e154e2d2 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..b64625e948 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..01e8a2280f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..dab7ed265a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..e463a8e1e5 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..d03f019bae Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..5a61c4ec25 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..559a92cbae Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..779b836db3 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..2765f27652 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..43cf38713b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..b7157817df Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..1cf46d1ec6 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..5c9063313b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..dd12ee7d47 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..3e5522a741 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..fc9729d362 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..190a752a1d Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..684ba4318b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..b8f7a1762a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..822e785531 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_left_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..7bb3dd3c02 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..b5b0489392 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..275c9bd3cf Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..096901d4d2 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..2ddc4541d7 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..6ca7823de8 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..e2a19cd3b6 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..c7ecddfe93 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..e62c55f12e Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..04cd7a4861 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..70784e7fc8 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..ef484d5819 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..b68eabd034 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..599c31d8d1 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..0f898a264f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..b1fb73375d Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..766b4798e9 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..7f20b3a367 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..40e163e2b4 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..33e63110e9 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..de40b7c26b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..2d839d98e3 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..b1324351c7 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..51dee8019b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_5.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_5.png new file mode 100644 index 0000000000..2821580b40 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_5.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_6.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_6.png new file mode 100644 index 0000000000..4ec1dbefc6 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_6.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_7.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_7.png new file mode 100644 index 0000000000..a7f7144895 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_7.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_8.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_8.png new file mode 100644 index 0000000000..48dfe0ae4f Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_3_8.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..a7a2b5960c Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..eb3c94238e Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..e7dcce54fb Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_bank_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..5f27eeebc4 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..f0a1aab0bb Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..7d133f678a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..12b51e35be Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..d5d69d363d Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..fbafc227fd Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..a3ce1cf73b Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..5ba55670f3 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..b8d7b5ac29 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..1407f0e9dd Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..6deb6e3761 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..08f5dc64e3 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..7690c7f849 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..e8c9a3eef5 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..ac13d22d83 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..fd59871159 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..fb4062fec5 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..6142a75f94 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..db519d3865 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..f9a814d79d Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..9686998f9a Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..1e5b63ef41 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..83d4fc8f04 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..e426f87e9c Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..740f517004 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..8b73e1af14 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..cb1e29bf35 Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..b94e87cefb Binary files /dev/null and b/resources/g2/track/rmc/large_turn_right_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1.png b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1.png new file mode 100644 index 0000000000..e027518e08 Binary files /dev/null and b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1_1.png b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1_1.png new file mode 100644 index 0000000000..7313bd6134 Binary files /dev/null and b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1_1.png differ diff --git a/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1_2.png b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1_2.png new file mode 100644 index 0000000000..6ad6f9317c Binary files /dev/null and b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_1_2.png differ diff --git a/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_2.png b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_2.png new file mode 100644 index 0000000000..80331e54eb Binary files /dev/null and b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_3.png b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_3.png new file mode 100644 index 0000000000..57fb2f0077 Binary files /dev/null and b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_4.png b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_4.png new file mode 100644 index 0000000000..756f86f0ce Binary files /dev/null and b/resources/g2/track/rmc/left_bank_to_gentle_up_left_bank_diag_4.png differ diff --git a/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_1.png b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_1.png new file mode 100644 index 0000000000..eea12d7d52 Binary files /dev/null and b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_1.png differ diff --git a/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_2.png b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_2.png new file mode 100644 index 0000000000..705b73688a Binary files /dev/null and b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_2.png differ diff --git a/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3.png b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3.png new file mode 100644 index 0000000000..85da1248e3 Binary files /dev/null and b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3.png differ diff --git a/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3_1.png b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3_1.png new file mode 100644 index 0000000000..a67a1673ba Binary files /dev/null and b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3_1.png differ diff --git a/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3_2.png b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3_2.png new file mode 100644 index 0000000000..d6dfeb8691 Binary files /dev/null and b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_3_2.png differ diff --git a/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_4.png b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_4.png new file mode 100644 index 0000000000..91de6a3970 Binary files /dev/null and b/resources/g2/track/rmc/right_bank_to_gentle_up_right_bank_diag_4.png differ diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index b0719fed0a..ca23e9c817 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -325,10 +325,15 @@ public: | (1uLL << WIDX_BANK_RIGHT); } - // Disable large curves if the start or end of the track is sloped. - if (_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE) + // Disable large curves if the start or end of the track is sloped and large sloped curves are not available + if ((_previousTrackSlopeEnd != TRACK_SLOPE_NONE || _currentTrackSlopeEnd != TRACK_SLOPE_NONE)) { - disabledWidgets |= (1uLL << WIDX_LEFT_CURVE_LARGE) | (1uLL << WIDX_RIGHT_CURVE_LARGE); + if (!IsTrackEnabled(TRACK_SLOPE_CURVE_LARGE) + || !(_previousTrackSlopeEnd == TRACK_SLOPE_UP_25 || _previousTrackSlopeEnd == TRACK_SLOPE_DOWN_25) + || !(_currentTrackSlopeEnd == TRACK_SLOPE_UP_25 || _currentTrackSlopeEnd == TRACK_SLOPE_DOWN_25)) + { + disabledWidgets |= (1uLL << WIDX_LEFT_CURVE_LARGE) | (1uLL << WIDX_RIGHT_CURVE_LARGE); + } } if (IsTrackEnabled(TRACK_SLOPE_CURVE) && IsTrackEnabled(TRACK_CURVE_VERY_SMALL)) { diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 92d6725fda..12313b84a4 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -43,7 +43,7 @@ // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "4" +#define NETWORK_STREAM_VERSION "5" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION diff --git a/src/openrct2/object/RideObject.cpp b/src/openrct2/object/RideObject.cpp index d5460a66d2..700749b04e 100644 --- a/src/openrct2/object/RideObject.cpp +++ b/src/openrct2/object/RideObject.cpp @@ -40,7 +40,7 @@ using namespace OpenRCT2; using namespace OpenRCT2::Entity::Yaw; static const uint8_t SpriteGroupMultiplier[EnumValue(SpriteGroupType::Count)] = { - 1, 2, 2, 2, 2, 2, 2, 10, 1, 2, 2, 2, 2, 2, 2, 2, 6, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 20, 3, 1, + 1, 2, 2, 2, 2, 2, 2, 10, 1, 2, 2, 2, 2, 2, 2, 2, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 12, 4, 4, 4, 4, 4, 20, 3, 1, }; constexpr const uint8_t DefaultSteamSpawnPosition[] = { 11, 22 }; diff --git a/src/openrct2/park/ParkFile.h b/src/openrct2/park/ParkFile.h index 3093f1f13e..185e94ba15 100644 --- a/src/openrct2/park/ParkFile.h +++ b/src/openrct2/park/ParkFile.h @@ -9,10 +9,10 @@ struct ObjectRepositoryItem; namespace OpenRCT2 { // Current version that is saved. - constexpr uint32_t PARK_FILE_CURRENT_VERSION = 23; + constexpr uint32_t PARK_FILE_CURRENT_VERSION = 24; // The minimum version that is forwards compatible with the current version. - constexpr uint32_t PARK_FILE_MIN_VERSION = 22; + constexpr uint32_t PARK_FILE_MIN_VERSION = 24; // The minimum version that is backwards compatible with the current version. // If this is increased beyond 0, uncomment the checks in ParkFile.cpp and Context.cpp! diff --git a/src/openrct2/ride/CarEntry.h b/src/openrct2/ride/CarEntry.h index eda82c121f..2508b85eb6 100644 --- a/src/openrct2/ride/CarEntry.h +++ b/src/openrct2/ride/CarEntry.h @@ -129,6 +129,9 @@ enum class SpriteGroupType : uint8_t Slopes12Banked22, Slopes8Banked22, Slopes25Banked22, + Slopes8Banked45, + Slopes16Banked22, + Slopes16Banked45, Slopes25Banked45, Slopes12Banked45, Slopes25Banked67, @@ -146,13 +149,15 @@ enum class SpriteGroupType : uint8_t }; static const std::string SpriteGroupNames[] = { - "slopeFlat", "slopes12", "slopes25", "slopes42", "slopes60", - "slopes75", "slopes90", "slopesLoop", "slopeInverted", "slopes8", - "slopes16", "slopes50", "flatBanked22", "flatBanked45", "flatBanked67", - "flatBanked90", "inlineTwists", "slopes12Banked22", "slopes8Banked22", "slopes25Banked22", - "slopes25Banked45", "slopes12Banked45", "slopes25Banked67", "slopes25Banked90", "slopes25InlineTwists", - "slopes42Banked22", "slopes42Banked45", "slopes42Banked67", "slopes42Banked90", "slopes60Banked22", - "corkscrews", "restraintAnimation", "curvedLiftHill", + "slopeFlat", "slopes12", "slopes25", "slopes42", + "slopes60", "slopes75", "slopes90", "slopesLoop", + "slopeInverted", "slopes8", "slopes16", "slopes50", + "flatBanked22", "flatBanked45", "flatBanked67", "flatBanked90", + "inlineTwists", "slopes12Banked22", "slopes8Banked22", "slopes25Banked22", + "slopes8Banked45", "slopes16Banked22", "slopes16Banked45", "slopes25Banked45", + "slopes12Banked45", "slopes25Banked67", "slopes25Banked90", "slopes25InlineTwists", + "slopes42Banked22", "slopes42Banked45", "slopes42Banked67", "slopes42Banked90", + "slopes60Banked22", "corkscrews", "restraintAnimation", "curvedLiftHill", }; static_assert(std::size(SpriteGroupNames) == EnumValue(SpriteGroupType::Count)); diff --git a/src/openrct2/ride/RideData.cpp b/src/openrct2/ride/RideData.cpp index 1a330e901e..82b240f357 100644 --- a/src/openrct2/ride/RideData.cpp +++ b/src/openrct2/ride/RideData.cpp @@ -157,6 +157,9 @@ const CarEntry CableLiftVehicle = { /* .SpriteGroups[Slopes12Banked22] = */ 0, SpritePrecision::None, /* .SpriteGroups[Slopes8Banked22] = */ 0, SpritePrecision::None, /* .SpriteGroups[Slopes25Banked22] = */ 0, SpritePrecision::None, + /* .SpriteGroups[Slopes8Banked22] = */ 0, SpritePrecision::None, + /* .SpriteGroups[Slopes16Banked22] = */ 0, SpritePrecision::None, + /* .SpriteGroups[Slopes16Banked45] = */ 0, SpritePrecision::None, /* .SpriteGroups[Slopes25Banked45] = */ 0, SpritePrecision::None, /* .SpriteGroups[Slopes12Banked45] = */ 0, SpritePrecision::None, /* .SpriteGroups[Slopes25Banked67] = */ 0, SpritePrecision::None, diff --git a/src/openrct2/ride/Track.h b/src/openrct2/ride/Track.h index 9fec34a7db..51240c5519 100644 --- a/src/openrct2/ride/Track.h +++ b/src/openrct2/ride/Track.h @@ -197,6 +197,9 @@ enum TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_FLYING_HALF_LOOP_INVERTED_UP, + TRACK_SLOPE_CURVE_LARGE, + TRACK_SLOPE_CURVE_LARGE_BANKED, + TRACK_GROUP_COUNT, }; @@ -575,7 +578,54 @@ namespace TrackElemType constexpr track_type_t FlyerHalfLoopInvertedUp = 291; constexpr track_type_t FlyerHalfLoopUninvertedDown = 292; - constexpr track_type_t Count = 293; + constexpr track_type_t LeftEighthToDiagUp25 = 293; + constexpr track_type_t RightEighthToDiagUp25 = 294; + constexpr track_type_t LeftEighthToDiagDown25 = 295; + constexpr track_type_t RightEighthToDiagDown25 = 296; + constexpr track_type_t LeftEighthToOrthogonalUp25 = 297; + constexpr track_type_t RightEighthToOrthogonalUp25 = 298; + constexpr track_type_t LeftEighthToOrthogonalDown25 = 299; + constexpr track_type_t RightEighthToOrthogonalDown25 = 300; + + constexpr track_type_t DiagUp25ToLeftBankedUp25 = 301; + constexpr track_type_t DiagUp25ToRightBankedUp25 = 302; + constexpr track_type_t DiagLeftBankedUp25ToUp25 = 303; + constexpr track_type_t DiagRightBankedUp25ToUp25 = 304; + constexpr track_type_t DiagDown25ToLeftBankedDown25 = 305; + constexpr track_type_t DiagDown25ToRightBankedDown25 = 306; + constexpr track_type_t DiagLeftBankedDown25ToDown25 = 307; + constexpr track_type_t DiagRightBankedDown25ToDown25 = 308; + constexpr track_type_t DiagLeftBankedFlatToLeftBankedUp25 = 309; + constexpr track_type_t DiagRightBankedFlatToRightBankedUp25 = 310; + constexpr track_type_t DiagLeftBankedUp25ToLeftBankedFlat = 311; + constexpr track_type_t DiagRightBankedUp25ToRightBankedFlat = 312; + constexpr track_type_t DiagLeftBankedFlatToLeftBankedDown25 = 313; + constexpr track_type_t DiagRightBankedFlatToRightBankedDown25 = 314; + constexpr track_type_t DiagLeftBankedDown25ToLeftBankedFlat = 315; + constexpr track_type_t DiagRightBankedDown25ToRightBankedFlat = 316; + constexpr track_type_t DiagFlatToLeftBankedUp25 = 317; + constexpr track_type_t DiagFlatToRightBankedUp25 = 318; + constexpr track_type_t DiagLeftBankedUp25ToFlat = 319; + constexpr track_type_t DiagRightBankedUp25ToFlat = 320; + constexpr track_type_t DiagFlatToLeftBankedDown25 = 321; + constexpr track_type_t DiagFlatToRightBankedDown25 = 322; + constexpr track_type_t DiagLeftBankedDown25ToFlat = 323; + constexpr track_type_t DiagRightBankedDown25ToFlat = 324; + constexpr track_type_t DiagUp25LeftBanked = 325; + constexpr track_type_t DiagUp25RightBanked = 326; + constexpr track_type_t DiagDown25LeftBanked = 327; + constexpr track_type_t DiagDown25RightBanked = 328; + + constexpr track_type_t LeftEighthBankToDiagUp25 = 329; + constexpr track_type_t RightEighthBankToDiagUp25 = 330; + constexpr track_type_t LeftEighthBankToDiagDown25 = 331; + constexpr track_type_t RightEighthBankToDiagDown25 = 332; + constexpr track_type_t LeftEighthBankToOrthogonalUp25 = 333; + constexpr track_type_t RightEighthBankToOrthogonalUp25 = 334; + constexpr track_type_t LeftEighthBankToOrthogonalDown25 = 335; + constexpr track_type_t RightEighthBankToOrthogonalDown25 = 336; + + constexpr track_type_t Count = 337; constexpr track_type_t None = 65535; }; // namespace TrackElemType diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index 75bc46b980..a5dc1b23fa 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -311,6 +311,50 @@ static constexpr TrackCoordinates _trackCoordinates[TrackElemType::Count] = { { 0, 2, 0, -280, 64, 32 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown { 0, 2, 0, 152, -32, 0 }, // TrackElemType::FlyerHalfLoopInvertedUp { 0, 2, 0, -152, 32, 0 }, // TrackElemType::FlyerHalfLoopUninvertedDown + { 0, 7, 0, 48, -64, -32 }, // TrackElemType::LeftEighthToDiagUp25 + { 0, 4, 0, 48, -64, 32 }, // TrackElemType::RightEighthToDiagUp25 + { 0, 7, 0,-48, -64, -32 }, // TrackElemType::LeftEighthToDiagDown25 + { 0, 4, 0,-48, -64, 32 }, // TrackElemType::RightEighthToDiagDown25 + { 4, 0, 0, 48, -64, 32 }, // TrackElemType::LeftEighthToOrthogonalUp25 + { 4, 1, 0, 48, -32, 64 }, // TrackElemType::RightEighthToOrthogonalUp25 + { 4, 0, 0,-48, -64, 32 }, // TrackElemType::LeftEighthToOrthogonalDown25 + { 4, 1, 0,-48, -32, 64 }, // TrackElemType::RightEighthToOrthogonalDown25 + { 4, 4, 0, 16, -32, 32 }, // TrackElemType::DiagUp25ToLeftBankedUp25 + { 4, 4, 0, 16, -32, 32 }, // TrackElemType::DiagUp25ToRightBankedUp25 + { 4, 4, 0, 16, -32, 32 }, // TrackElemType::DiagLeftBankedUp25ToUp25 + { 4, 4, 0, 16, -32, 32 }, // TrackElemType::DiagRightBankedUp25ToUp25 + { 4, 4, 16, 0, -32, 32 }, // TrackElemType::DiagDown25ToLeftBankedDown25 + { 4, 4, 16, 0, -32, 32 }, // TrackElemType::DiagDown25ToRightBankedDown25 + { 4, 4, 16, 0, -32, 32 }, // TrackElemType::DiagLeftBankedDown25ToDown25 + { 4, 4, 16, 0, -32, 32 }, // TrackElemType::DiagRightBankedDown25ToDown25 + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagFlatToLeftBankedUp25 + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagFlatToRightBankedUp25 + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagLeftBankedUp25ToFlat + { 4, 4, 0, 8, -32, 32 }, // TrackElemType::DiagRightBankedUp25ToFlat + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagFlatToLeftBankedDown25 + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagFlatToRightBankedDown25 + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagLeftBankedDown25ToFlat + { 4, 4, 8, 0, -32, 32 }, // TrackElemType::DiagRightBankedDown25ToFlat + { 4, 4, 0, 16, -32, 32 }, // TrackElemType::DiagUp25LeftBanked + { 4, 4, 0, 16, -32, 32 }, // TrackElemType::DiagUp25RightBanked + { 4, 4, 16, 0, -32, 32 }, // TrackElemType::DiagDown25LeftBanked + { 4, 4, 16, 0, -32, 32 }, // TrackElemType::DiagDown25RightBanked + { 0, 7, 0, 48, -64, -32 }, // TrackElemType::LeftEighthBankToDiagUp25 + { 0, 4, 0, 48, -64, 32 }, // TrackElemType::RightEighthBankToDiagUp25 + { 0, 7, 0,-48, -64, -32 }, // TrackElemType::LeftEighthBankToDiagDown25 + { 0, 4, 0,-48, -64, 32 }, // TrackElemType::RightEighthBankToDiagDown25 + { 4, 0, 0, 48, -64, 32 }, // TrackElemType::LeftEighthBankToOrthogonalUp25 + { 4, 1, 0, 48, -32, 64 }, // TrackElemType::RightEighthBankToOrthogonalUp25 + { 4, 0, 0,-48, -64, 32 }, // TrackElemType::LeftEighthBankToOrthogonalDown25 + { 4, 1, 0,-48, -32, 64 }, // TrackElemType::RightEighthBankToOrthogonalDown25 }; /** rct2: 0x0099BA64 */ @@ -609,6 +653,50 @@ static constexpr uint8_t TrackSequenceProperties[][MaxSequencesPerPiece] = { /* LeftFlyerLargeHalfLoopUninvertedDown */ { 0 }, /* FlyerHalfLoopInvertedUp */ { 0 }, /* FlyerHalfLoopUninvertedUp */ { 0 }, + { 0 }, // TrackElemType::LeftEighthToDiagUp25 + { 0 }, // TrackElemType::RightEighthToDiagUp25 + { 0 }, // TrackElemType::LeftEighthToDiagDown25 + { 0 }, // TrackElemType::RightEighthToDiagDown25 + { 0 }, // TrackElemType::LeftEighthToOrthogonalUp25 + { 0 }, // TrackElemType::RightEighthToOrthogonalUp25 + { 0 }, // TrackElemType::LeftEighthToOrthogonalDown25 + { 0 }, // TrackElemType::RightEighthToOrthogonalDown25 + { 0 }, // TrackElemType::DiagUp25ToLeftBankedUp25 + { 0 }, // TrackElemType::DiagUp25ToRightBankedUp25 + { 0 }, // TrackElemType::DiagLeftBankedUp25ToUp25 + { 0 }, // TrackElemType::DiagRightBankedUp25ToUp25 + { 0 }, // TrackElemType::DiagDown25ToLeftBankedDown25 + { 0 }, // TrackElemType::DiagDown25ToRightBankedDown25 + { 0 }, // TrackElemType::DiagLeftBankedDown25ToDown25 + { 0 }, // TrackElemType::DiagRightBankedDown25ToDown25 + { 0 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + { 0 }, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + { 0 }, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + { 0 }, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + { 0 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + { 0 }, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + { 0 }, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + { 0 }, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + { 0 }, // TrackElemType::DiagFlatToLeftBankedUp25 + { 0 }, // TrackElemType::DiagFlatToRightBankedUp25 + { 0 }, // TrackElemType::DiagLeftBankedUp25ToFlat + { 0 }, // TrackElemType::DiagRightBankedUp25ToFlat + { 0 }, // TrackElemType::DiagFlatToLeftBankedDown25 + { 0 }, // TrackElemType::DiagFlatToRightBankedDown25 + { 0 }, // TrackElemType::DiagLeftBankedDown25ToFlat + { 0 }, // TrackElemType::DiagRightBankedDown25ToFlat + { 0 }, // TrackElemType::DiagUp25LeftBanked + { 0 }, // TrackElemType::DiagUp25RightBanked + { 0 }, // TrackElemType::DiagDown25LeftBanked + { 0 }, // TrackElemType::DiagDown25RightBanked + { 0 }, // TrackElemType::LeftEighthBankToDiagUp25 + { 0 }, // TrackElemType::RightEighthBankToDiagUp25 + { 0 }, // TrackElemType::LeftEighthBankToDiagDown25 + { 0 }, // TrackElemType::RightEighthBankToDiagDown25 + { 0 }, // TrackElemType::LeftEighthBankToOrthogonalUp25 + { 0 }, // TrackElemType::RightEighthBankToOrthogonalUp25 + { 0 }, // TrackElemType::LeftEighthBankToOrthogonalDown25 + { 0 }, // TrackElemType::RightEighthBankToOrthogonalDown25 }; #define TRACK_BLOCK_END { 255, 255, 255, 255, 255, {255, 255}, 255 } @@ -2841,6 +2929,79 @@ static constexpr const PreviewTrack TrackBlocksFlyerHalfLoopDownUpright[] = { TRACK_BLOCK_END }; +static constexpr const PreviewTrack TrackBlocksLeftEighthToDiagUp25[] = { + { 0, 0, 0, 0, 16, { 0b1111, 0 }, 0 }, + { 1, -32, 0, 16, 32, { 0b1111, 0 }, 0 }, + { 2, -32, -32, 32, 16, { 0b1000, 0 }, 0 }, + { 3, -64, 0, 32, 16, { 0b0010, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 4, -64, -32, 32, 24, { 0b0001, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksRightEighthToDiagUp25[] = { + { 0, 0, 0, 0, 16, { 0b1111, 0 }, 0 }, + { 1, -32, 0, 16, 32, { 0b1111, 0 }, 0 }, + { 2, -32, 32, 32, 16, { 0b0100, 0 }, 0 }, + { 3, -64, 0, 32, 16, { 0b0001, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 4, -64, 32, 32, 24, { 0b0010, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksLeftEighthToDiagDown25[] = { + { 0, 0, 0, -16, 16, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -32, 16, { 0b1111, 0 }, 0 }, + { 2, -32, -32, -48, 16, { 0b1000, 0 }, 0 }, + { 3, -64, 0, -48, 16, { 0b0010, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 4, -64, -32, -48, 16, { 0b0001, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksRightEighthToDiagDown25[] = { + { 0, 0, 0, -16, 16, { 0b1111, 0 }, 0 }, + { 1, -32, 0, -32, 16, { 0b1111, 0 }, 0 }, + { 2, -32, 32, -48, 16, { 0b0100, 0 }, 0 }, + { 3, -64, 0, -48, 16, { 0b0001, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 4, -64, 32, -48, 16, { 0b0010, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksLeftEighthToOrthogonalUp25[] = { + { 0, 0, 0, 0, 16, { 0b1101, 0 }, 0 }, + { 1, -32, 0, 0, 16, { 0b0001, 0 }, 0 }, + { 2, 0, 32, 0, 16, { 0b0100, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 3, -32, 32, 16, 16, { 0b1111, 0 }, 0 }, + { 4, -64, 32, 32, 16, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksRightEighthToOrthogonalUp25[] = { + { 0, 0, 0, 0, 16, { 0b1101, 0 }, 0 }, + { 1, 0, 32, 0, 16, { 0b0100, 0 }, 0 }, + { 2, -32, 0, 0, 16, { 0b0001, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 3, -32, 32, 16, 16, { 0b1111, 0 }, 0 }, + { 4, -32, 64, 32, 16, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksLeftEighthToOrthogonalDown25[] = { + { 0, 0, 0, -16, 24, { 0b1101, 0 }, 0 }, + { 1, -32, 0, -16, 16, { 0b0001, 0 }, 0 }, + { 2, 0, 32, -16, 16, { 0b0100, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 3, -32, 32, -32, 32, { 0b1111, 0 }, 0 }, + { 4, -64, 32, -48, 16, { 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + +static constexpr const PreviewTrack TrackBlocksRightEighthToOrthogonalDown25[] = { + { 0, 0, 0, -16, 24, { 0b1101, 0 }, 0 }, + { 1, 0, 32, -16, 16,{ 0b0100, 0 }, 0 }, + { 2, -32, 0, -16, 16,{ 0b0001, 0 }, RCT_PREVIEW_TRACK_FLAG_0 }, + { 3, -32, 32, -32, 32,{ 0b1111, 0 }, 0 }, + { 4, -32, 64, -48, 16,{ 0b1111, 0 }, 0 }, + TRACK_BLOCK_END +}; + + // rct2: 0x00994638 static constexpr std::array TrackBlocks = { TrackBlocks000, @@ -3138,6 +3299,50 @@ static constexpr std::array TrackBloc TrackBlocksLeftFlyerLargeHalfLoopUninvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown TrackBlocksFlyerHalfLoopUpInverted, // TrackElemType::FlyerHalfLoopInvertedUp TrackBlocksFlyerHalfLoopDownUpright, // TrackElemType::FlyerHalfLoopUninvertedDown + TrackBlocksLeftEighthToDiagUp25, // TrackElemType::LeftEighthToDiagUp25 + TrackBlocksRightEighthToDiagUp25, // TrackElemType::RightEighthToDiagUp25 + TrackBlocksLeftEighthToDiagDown25, // TrackElemType::LeftEighthToDiagDown25 + TrackBlocksRightEighthToDiagDown25, // TrackElemType::RightEighthToDiagDown25 + TrackBlocksLeftEighthToOrthogonalUp25, // TrackElemType::LeftEighthToOrthogonalUp25 + TrackBlocksRightEighthToOrthogonalUp25, // TrackElemType::RightEighthToOrthogonalUp25 + TrackBlocksLeftEighthToOrthogonalDown25, // TrackElemType::LeftEighthToOrthogonalDown25 + TrackBlocksRightEighthToOrthogonalDown25, // TrackElemType::RightEighthToOrthogonalDown25 + TrackBlocks142, // TrackElemType::DiagUp25ToLeftBankedUp25 + TrackBlocks142, // TrackElemType::DiagUp25ToRightBankedUp25 + TrackBlocks142, // TrackElemType::DiagLeftBankedUp25ToUp25 + TrackBlocks142, // TrackElemType::DiagRightBankedUp25ToUp25 + TrackBlocks148, // TrackElemType::DiagDown25ToLeftBankedDown25 + TrackBlocks148, // TrackElemType::DiagDown25ToRightBankedDown25 + TrackBlocks148, // TrackElemType::DiagLeftBankedDown25ToDown25 + TrackBlocks148, // TrackElemType::DiagRightBankedDown25ToDown25 + TrackBlocks144, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + TrackBlocks144, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + TrackBlocks147, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + TrackBlocks147, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + TrackBlocks150, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + TrackBlocks150, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + TrackBlocks153, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + TrackBlocks153, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + TrackBlocks144, // TrackElemType::DiagFlatToLeftBankedUp25 + TrackBlocks144, // TrackElemType::DiagFlatToRightBankedUp25 + TrackBlocks147, // TrackElemType::DiagLeftBankedUp25ToFlat + TrackBlocks147, // TrackElemType::DiagRightBankedUp25ToFlat + TrackBlocks150, // TrackElemType::DiagFlatToLeftBankedDown25 + TrackBlocks150, // TrackElemType::DiagFlatToRightBankedDown25 + TrackBlocks153, // TrackElemType::DiagLeftBankedDown25ToFlat + TrackBlocks153, // TrackElemType::DiagRightBankedDown25ToFlat + TrackBlocks142, // TrackElemType::DiagUp25LeftBanked + TrackBlocks142, // TrackElemType::DiagUp25RightBanked + TrackBlocks148, // TrackElemType::DiagDown25LeftBanked + TrackBlocks148, // TrackElemType::DiagDown25RightBanked + TrackBlocksLeftEighthToDiagUp25, // TrackElemType::LeftEighthBankToDiagUp25 + TrackBlocksRightEighthToDiagUp25, // TrackElemType::RightEighthBankToDiagUp25 + TrackBlocksLeftEighthToDiagDown25, // TrackElemType::LeftEighthBankToDiagDown25 + TrackBlocksRightEighthToDiagDown25, // TrackElemType::RightEighthBankToDiagDown25 + TrackBlocksLeftEighthToOrthogonalUp25, // TrackElemType::LeftEighthBankToOrthogonalUp25 + TrackBlocksRightEighthToOrthogonalUp25, // TrackElemType::RightEighthBankToOrthogonalUp25 + TrackBlocksLeftEighthToOrthogonalDown25, // TrackElemType::LeftEighthBankToOrthogonalDown25 + TrackBlocksRightEighthToOrthogonalDown25, // TrackElemType::RightEighthBankToOrthogonalDown25 }; static constexpr uint8_t TrackPieceLengths[TrackElemType::Count] = { @@ -3434,7 +3639,51 @@ static constexpr uint8_t TrackPieceLengths[TrackElemType::Count] = { 100, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown 64, // TrackElemType::FlyerHalfLoopInvertedUp 64, // TrackElemType::FlyerHalfLoopUninvertedDown -}; + 64, // TrackElemType::LeftEighthToDiagUp25 + 64, // TrackElemType::RightEighthToDiagUp25 + 64, // TrackElemType::LeftEighthToDiagDown25 + 64, // TrackElemType::RightEighthToDiagDown25 + 64, // TrackElemType::LeftEighthToOrthogonalUp25 + 64, // TrackElemType::RightEighthToOrthogonalUp25 + 64, // TrackElemType::LeftEighthToOrthogonalDown25 + 64, // TrackElemType::RightEighthToOrthogonalDown25 + 64, // TrackElemType::DiagUp25ToLeftBankedUp25 + 64, // TrackElemType::DiagUp25ToRightBankedUp25 + 64, // TrackElemType::DiagLeftBankedUp25ToUp25 + 64, // TrackElemType::DiagRightBankedUp25ToUp25 + 64, // TrackElemType::DiagDown25ToLeftBankedDown25 + 64, // TrackElemType::DiagDown25ToRightBankedDown25 + 64, // TrackElemType::DiagLeftBankedDown25ToDown25 + 64, // TrackElemType::DiagRightBankedDown25ToDown25 + 64, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + 64, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + 64, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + 64, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + 64, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + 64, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + 64, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + 64, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + 64, // TrackElemType::DiagFlatToLeftBankedUp25 + 64, // TrackElemType::DiagFlatToRightBankedUp25 + 64, // TrackElemType::DiagLeftBankedUp25ToFlat + 64, // TrackElemType::DiagRightBankedUp25ToFlat + 64, // TrackElemType::DiagFlatToLeftBankedDown25 + 64, // TrackElemType::DiagFlatToRightBankedDown25 + 64, // TrackElemType::DiagLeftBankedDown25ToFlat + 64, // TrackElemType::DiagRightBankedDown25ToFlat + 64, // TrackElemType::DiagUp25LeftBanked + 64, // TrackElemType::DiagUp25RightBanked + 64, // TrackElemType::DiagDown25LeftBanked + 64, // TrackElemType::DiagDown25RightBanked + 64, // TrackElemType::LeftEighthBankToDiagUp25 + 64, // TrackElemType::RightEighthBankToDiagUp25 + 64, // TrackElemType::LeftEighthBankToDiagDown25 + 64, // TrackElemType::RightEighthBankToDiagDown25 + 64, // TrackElemType::LeftEighthBankToOrthogonalUp25 + 64, // TrackElemType::RightEighthBankToOrthogonalUp25 + 64, // TrackElemType::LeftEighthBankToOrthogonalDown25 + 64, // TrackElemType::RightEighthBankToOrthogonalDown25 +};//TODO // rct2: 0x00998C95 static constexpr TrackCurveChain gTrackCurveChain[TrackElemType::Count] = { @@ -3731,9 +3980,53 @@ static constexpr TrackCurveChain gTrackCurveChain[TrackElemType::Count] = { { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TrackElemType::LeftFlyerLargeHalfLoopInvertedUp }, // LeftFlyerLargeHalfLoopUninvertedDown { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // FlyerHalfLoopInvertedUp { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // FlyerHalfLoopUninvertedUp + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthToDiagUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthToDiagUp25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthToDiagDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthToDiagDown25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthToOrthogonalUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthToOrthogonalUp25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthToOrthogonalDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthToOrthogonalDown25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagUp25ToLeftBankedUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagUp25ToRightBankedUp25 + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagLeftBankedUp25ToUp25 + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagRightBankedUp25ToUp25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagDown25ToLeftBankedDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagDown25ToRightBankedDown25 + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagLeftBankedDown25ToDown25 + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagRightBankedDown25ToDown25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagFlatToLeftBankedUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagFlatToRightBankedUp25 + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagLeftBankedUp25ToFlat + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagRightBankedUp25ToFlat + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagFlatToLeftBankedDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagFlatToRightBankedDown25 + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagLeftBankedDown25ToFlat + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, // TrackElemType::DiagRightBankedDown25ToFlat + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagUp25LeftBanked + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagUp25RightBanked + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::DiagDown25LeftBanked + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::DiagDown25RightBanked + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthBankToDiagUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthBankToDiagUp25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthBankToDiagDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthBankToDiagDown25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthBankToOrthogonalUp25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthBankToOrthogonalUp25 + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, // TrackElemType::LeftEighthBankToOrthogonalDown25 + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, // TrackElemType::RightEighthBankToOrthogonalDown25 }; -const TrackDescriptor gTrackDescriptors[142] = { +const TrackDescriptor gTrackDescriptors[186] = { { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TrackElemType::DiagDown60 }, { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagDown60ToDown25 }, { true, TRACK_SLOPE_DOWN_60, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagDown60ToFlat }, @@ -3876,6 +4169,50 @@ const TrackDescriptor gTrackDescriptors[142] = { { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_60, TRACK_BANK_NONE, TrackElemType::Up90ToUp60 }, { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TrackElemType::Up90 }, { false, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_SMALL, TRACK_SLOPE_UP_90, TRACK_BANK_NONE, TrackElemType::RightQuarterTurn1TileUp90 }, + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftEighthToDiagUp25 }, // TrackElemType::LeftEighthToDiagUp25 + { false, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightEighthToDiagUp25 }, // TrackElemType::RightEighthToDiagUp25 + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::LeftEighthToDiagDown25 }, // TrackElemType::LeftEighthToDiagDown25 + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::RightEighthToDiagDown25 }, // TrackElemType::RightEighthToDiagDown25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::LeftEighthToOrthogonalUp25 }, // TrackElemType::LeftEighthToOrthogonalUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::RightEighthToOrthogonalUp25 }, // TrackElemType::RightEighthToOrthogonalUp25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::LeftEighthToOrthogonalDown25 }, // TrackElemType::LeftEighthToOrthogonalDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::RightEighthToOrthogonalDown25 }, // TrackElemType::RightEighthToOrthogonalDown25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::DiagUp25ToLeftBankedUp25 }, // TrackElemType::DiagUp25ToLeftBankedUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::DiagUp25ToRightBankedUp25 }, // TrackElemType::DiagUp25ToRightBankedUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagLeftBankedUp25ToUp25 }, // TrackElemType::DiagLeftBankedUp25ToUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TrackElemType::DiagRightBankedUp25ToUp25 }, // TrackElemType::DiagRightBankedUp25ToUp25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::DiagDown25ToLeftBankedDown25 }, // TrackElemType::DiagDown25ToLeftBankedDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::DiagDown25ToRightBankedDown25 }, // TrackElemType::DiagDown25ToRightBankedDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagLeftBankedDown25ToDown25 }, // TrackElemType::DiagLeftBankedDown25ToDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TrackElemType::DiagRightBankedDown25ToDown25 }, // TrackElemType::DiagRightBankedDown25ToDown25 + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::DiagRightBankedFlatToRightBankedUp25 }, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat }, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + { true, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::DiagRightBankedUp25ToRightBankedFlat }, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + { true, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + { true, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::DiagRightBankedFlatToRightBankedDown25 }, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat }, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TrackElemType::DiagRightBankedDown25ToRightBankedFlat }, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::DiagFlatToLeftBankedUp25 }, // TrackElemType::DiagFlatToLeftBankedUp25 + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::DiagFlatToRightBankedUp25 }, // TrackElemType::DiagFlatToRightBankedUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagLeftBankedUp25ToFlat }, // TrackElemType::DiagLeftBankedUp25ToFlat + { true, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagRightBankedUp25ToFlat }, // TrackElemType::DiagRightBankedUp25ToFlat + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::DiagFlatToLeftBankedDown25 }, // TrackElemType::DiagFlatToLeftBankedDown25 + { true, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::DiagFlatToRightBankedDown25 }, // TrackElemType::DiagFlatToRightBankedDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagLeftBankedDown25ToFlat }, // TrackElemType::DiagLeftBankedDown25ToFlat + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_NONE, TRACK_BANK_NONE, TrackElemType::DiagRightBankedDown25ToFlat }, // TrackElemType::DiagRightBankedDown25ToFlat + { true, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::DiagUp25LeftBanked }, // TrackElemType::Up25LeftBanked + { true, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::DiagUp25RightBanked }, // TrackElemType::Up25RightBanked + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::DiagDown25LeftBanked }, // TrackElemType::Down25LeftBanked + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::DiagDown25RightBanked }, // TrackElemType::Down25RightBanked + { false, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::LeftEighthBankToDiagUp25 }, // TrackElemType::LeftEighthBankToDiagUp25 + { false, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::RightEighthBankToDiagUp25 }, // TrackElemType::RightEighthBankToDiagUp25 + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::LeftEighthBankToDiagDown25 }, // TrackElemType::LeftEighthBankToDiagDown25 + { false, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::RightEighthBankToDiagDown25 }, // TrackElemType::RightEighthBankToDiagDown25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TrackElemType::LeftEighthBankToOrthogonalUp25 }, // TrackElemType::LeftEighthBankToOrthogonalUp25 + { true, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TrackElemType::RightEighthBankToOrthogonalUp25 }, // TrackElemType::RightEighthBankToOrthogonalUp25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_CURVE_LEFT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TrackElemType::LeftEighthBankToOrthogonalDown25 }, // TrackElemType::LeftEighthBankToOrthogonalDown25 + { true, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_CURVE_RIGHT_LARGE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TrackElemType::RightEighthBankToOrthogonalDown25 }, // TrackElemType::RightEighthBankToOrthogonalDown25 }; /** rct2: 0x00993D1C */ @@ -4169,6 +4506,50 @@ static constexpr track_type_t AlternativeTrackTypes[TrackElemType::Count] = { TrackElemType::None, // LeftFlyerLargeHalfLoopInvertedDown TrackElemType::None, // FlyerHalfLoopInvertedUp TrackElemType::None, // FlyerHalfLoopUninvertedDown + TrackElemType::None, // TrackElemType::LeftEighthToDiagUp25 + TrackElemType::None, // TrackElemType::RightEighthToDiagUp25 + TrackElemType::None, // TrackElemType::LeftEighthToDiagDown25 + TrackElemType::None, // TrackElemType::RightEighthToDiagDown25 + TrackElemType::None, // TrackElemType::LeftEighthToOrthogonalUp25 + TrackElemType::None, // TrackElemType::RightEighthToOrthogonalUp25 + TrackElemType::None, // TrackElemType::LeftEighthToOrthogonalDown25 + TrackElemType::None, // TrackElemType::RightEighthToOrthogonalDown25 + TrackElemType::None, // TrackElemType::DiagUp25ToLeftBankedUp25 + TrackElemType::None, // TrackElemType::DiagUp25ToRightBankedUp25 + TrackElemType::None, // TrackElemType::DiagLeftBankedUp25ToUp25 + TrackElemType::None, // TrackElemType::DiagRightBankedUp25ToUp25 + TrackElemType::None, // TrackElemType::DiagDown25ToLeftBankedDown25 + TrackElemType::None, // TrackElemType::DiagDown25ToRightBankedDown25 + TrackElemType::None, // TrackElemType::DiagLeftBankedDown25ToDown25 + TrackElemType::None, // TrackElemType::DiagRightBankedDown25ToDown25 + TrackElemType::None, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + TrackElemType::None, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + TrackElemType::None, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + TrackElemType::None, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + TrackElemType::None, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + TrackElemType::None, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + TrackElemType::None, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + TrackElemType::None, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + TrackElemType::None, // TrackElemType::DiagFlatToLeftBankedUp25 + TrackElemType::None, // TrackElemType::DiagFlatToRightBankedUp25 + TrackElemType::None, // TrackElemType::DiagLeftBankedUp25ToFlat + TrackElemType::None, // TrackElemType::DiagRightBankedUp25ToFlat + TrackElemType::None, // TrackElemType::DiagFlatToLeftBankedDown25 + TrackElemType::None, // TrackElemType::DiagFlatToRightBankedDown25 + TrackElemType::None, // TrackElemType::DiagLeftBankedDown25ToFlat + TrackElemType::None, // TrackElemType::DiagRightBankedDown25ToFlat + TrackElemType::None, // TrackElemType::DiagUp25LeftBanked + TrackElemType::None, // TrackElemType::DiagUp25RightBanked + TrackElemType::None, // TrackElemType::DiagDown25LeftBanked + TrackElemType::None, // TrackElemType::DiagDown25RightBanked + TrackElemType::None, // TrackElemType::LeftEighthBankToDiagUp25 + TrackElemType::None, // TrackElemType::RightEighthBankToDiagUp25 + TrackElemType::None, // TrackElemType::LeftEighthBankToDiagDown25 + TrackElemType::None, // TrackElemType::RightEighthBankToDiagDown25 + TrackElemType::None, // TrackElemType::LeftEighthBankToOrthogonalUp25 + TrackElemType::None, // TrackElemType::RightEighthBankToOrthogonalUp25 + TrackElemType::None, // TrackElemType::LeftEighthBankToOrthogonalDown25 + TrackElemType::None, // TrackElemType::RightEighthBankToOrthogonalDown25 }; /** rct2: 0x0099DA34 */ @@ -4466,7 +4847,50 @@ static constexpr money64 TrackPricing[TrackElemType::Count] = { 884736, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown 294912, // TrackElemType::FlyerHalfLoopInvertedUp 294912, // TrackElemType::FlyerHalfLoopUninvertedDown -}; + 294912, // TrackElemType::LeftEighthToDiagUp25 + 294912, // TrackElemType::RightEighthToDiagUp25 + 294912, // TrackElemType::LeftEighthToDiagDown25 + 294912, // TrackElemType::RightEighthToDiagDown25 + 294912, // TrackElemType::LeftEighthToOrthogonalUp25 + 294912, // TrackElemType::RightEighthToOrthogonalUp25 + 294912, // TrackElemType::LeftEighthToOrthogonalDown25 + 294912, // TrackElemType::DiagUp25ToLeftBankedUp25 + 294912, // TrackElemType::DiagUp25ToRightBankedUp25 + 294912, // TrackElemType::DiagLeftBankedUp25ToUp25 + 294912, // TrackElemType::DiagRightBankedUp25ToUp25 + 294912, // TrackElemType::DiagDown25ToLeftBankedDown25 + 294912, // TrackElemType::DiagDown25ToRightBankedDown25 + 294912, // TrackElemType::DiagLeftBankedDown25ToDown25 + 294912, // TrackElemType::DiagRightBankedDown25ToDown25 + 294912, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + 294912, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + 294912, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + 294912, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + 294912, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + 294912, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + 294912, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + 294912, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + 294912, // TrackElemType::DiagFlatToLeftBankedUp25 + 294912, // TrackElemType::DiagFlatToRightBankedUp25 + 294912, // TrackElemType::DiagLeftBankedUp25ToFlat + 294912, // TrackElemType::DiagRightBankedUp25ToFlat + 294912, // TrackElemType::DiagFlatToLeftBankedDown25 + 294912, // TrackElemType::DiagFlatToRightBankedDown25 + 294912, // TrackElemType::DiagLeftBankedDown25ToFlat + 294912, // TrackElemType::DiagRightBankedDown25ToFlat + 294912, // TrackElemType::DiagUp25LeftBanked + 294912, // TrackElemType::DiagUp25RightBanked + 294912, // TrackElemType::DiagDown25LeftBanked + 294912, // TrackElemType::DiagDown25RightBanked + 294912, // TrackElemType::LeftEighthBankToDiagUp25 + 294912, // TrackElemType::RightEighthBankToDiagUp25 + 294912, // TrackElemType::LeftEighthBankToDiagDown25 + 294912, // TrackElemType::RightEighthBankToDiagDown25 + 294912, // TrackElemType::LeftEighthBankToOrthogonalUp25 + 294912, // TrackElemType::RightEighthBankToOrthogonalUp25 + 294912, // TrackElemType::LeftEighthBankToOrthogonalDown25 + 294912, // TrackElemType::RightEighthBankToOrthogonalDown25 +};//TODO /** rct2: 0x0099EA1C */ static constexpr track_type_t TrackElementMirrorMap[TrackElemType::Count] = { @@ -4763,6 +5187,50 @@ static constexpr track_type_t TrackElementMirrorMap[TrackElemType::Count] = { TrackElemType::RightFlyerLargeHalfLoopUninvertedDown, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown TrackElemType::FlyerHalfLoopInvertedUp, TrackElemType::FlyerHalfLoopUninvertedDown, + TrackElemType::RightEighthToDiagUp25, // TrackElemType::LeftEighthToDiagUp25 + TrackElemType::LeftEighthToDiagUp25, // TrackElemType::RightEighthToDiagUp25 + TrackElemType::RightEighthToDiagDown25, // TrackElemType::LeftEighthToDiagDown25 + TrackElemType::LeftEighthToDiagDown25, // TrackElemType::RightEighthToDiagDown25 + TrackElemType::RightEighthToOrthogonalUp25, // TrackElemType::LeftEighthToOrthogonalUp25 + TrackElemType::LeftEighthToOrthogonalUp25, // TrackElemType::RightEighthToOrthogonalUp25 + TrackElemType::RightEighthToOrthogonalDown25, // TrackElemType::LeftEighthToOrthogonalDown25 + TrackElemType::DiagUp25ToRightBankedUp25, // TrackElemType::DiagUp25ToRightBankedUp25 + TrackElemType::DiagUp25ToLeftBankedUp25, // TrackElemType::DiagUp25ToLeftBankedUp25 + TrackElemType::DiagRightBankedUp25ToUp25, // TrackElemType::DiagRightBankedUp25ToUp25 + TrackElemType::DiagLeftBankedUp25ToUp25, // TrackElemType::DiagLeftBankedUp25ToUp25 + TrackElemType::DiagDown25ToRightBankedDown25, // TrackElemType::DiagDown25ToRightBankedDown25 + TrackElemType::DiagDown25ToLeftBankedDown25, // TrackElemType::DiagDown25ToLeftBankedDown25 + TrackElemType::DiagRightBankedDown25ToDown25, // TrackElemType::DiagRightBankedDown25ToDown25 + TrackElemType::DiagLeftBankedDown25ToDown25, // TrackElemType::DiagLeftBankedDown25ToDown25 + TrackElemType::DiagRightBankedFlatToRightBankedUp25, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + TrackElemType::DiagLeftBankedFlatToLeftBankedUp25, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + TrackElemType::DiagRightBankedUp25ToRightBankedFlat, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + TrackElemType::DiagRightBankedFlatToRightBankedDown25,// TrackElemType::DiagRightBankedFlatToRightBankedDown25 + TrackElemType::DiagLeftBankedFlatToLeftBankedDown25, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + TrackElemType::DiagRightBankedDown25ToRightBankedFlat,// TrackElemType::DiagRightBankedDown25ToRightBankedFlat + TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + TrackElemType::DiagFlatToRightBankedUp25, // TrackElemType::DiagFlatToRightBankedUp25 + TrackElemType::DiagFlatToLeftBankedUp25, // TrackElemType::DiagFlatToLeftBankedUp25 + TrackElemType::DiagRightBankedUp25ToFlat, // TrackElemType::DiagRightBankedUp25ToFlat + TrackElemType::DiagLeftBankedUp25ToFlat, // TrackElemType::DiagLeftBankedUp25ToFlat + TrackElemType::DiagFlatToRightBankedDown25, // TrackElemType::DiagFlatToRightBankedDown25 + TrackElemType::DiagFlatToLeftBankedDown25, // TrackElemType::DiagFlatToLeftBankedDown25 + TrackElemType::DiagRightBankedDown25ToFlat, // TrackElemType::DiagRightBankedDown25ToFlat + TrackElemType::DiagLeftBankedDown25ToFlat, // TrackElemType::DiagLeftBankedDown25ToFlat + TrackElemType::DiagUp25RightBanked, // TrackElemType::DiagUp25RightBanked + TrackElemType::DiagUp25LeftBanked, // TrackElemType::DiagUp25LeftBanked + TrackElemType::DiagDown25RightBanked, // TrackElemType::DiagDown25RightBanked + TrackElemType::DiagDown25LeftBanked, // TrackElemType::DiagDown25LeftBanked + TrackElemType::RightEighthBankToDiagUp25, // TrackElemType::RightEighthBankToDiagUp25 + TrackElemType::LeftEighthBankToDiagUp25, // TrackElemType::LeftEighthBankToDiagUp25 + TrackElemType::RightEighthBankToDiagDown25, // TrackElemType::RightEighthBankToDiagDown25 + TrackElemType::LeftEighthBankToDiagDown25, // TrackElemType::LeftEighthBankToDiagDown25 + TrackElemType::RightEighthBankToOrthogonalUp25, // TrackElemType::RightEighthBankToOrthogonalUp25 + TrackElemType::LeftEighthBankToOrthogonalUp25, // TrackElemType::LeftEighthBankToOrthogonalUp25 + TrackElemType::RightEighthBankToOrthogonalDown25, // TrackElemType::RightEighthBankToOrthogonalDown25 + TrackElemType::LeftEighthBankToOrthogonalDown25, // TrackElemType::LeftEighthBankToOrthogonalDown25 + }; /** rct2: 0x00999694 */ @@ -5060,7 +5528,51 @@ static constexpr uint32_t TrackHeightMarkerPositions[TrackElemType::Count] = { (1 << 0) | (1 << 6), // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopInvertedUp (1 << 0) | (1 << 3), // TrackElemType::FlyerHalfLoopUninvertedDown -}; + (1 << 0), // TrackElemType::LeftEighthToDiagUp25 + (1 << 0), // TrackElemType::RightEighthToDiagUp25 + (1 << 0), // TrackElemType::LeftEighthToDiagDown25 + (1 << 0), // TrackElemType::RightEighthToDiagDown25 + (1 << 0), // TrackElemType::LeftEighthToOrthogonalUp25 + (1 << 0), // TrackElemType::RightEighthToOrthogonalUp25 + (1 << 0), // TrackElemType::LeftEighthToOrthogonalDown25 + (1 << 0), // TrackElemType::RightEighthToOrthogonalDown25 + (1 << 0), // TrackElemType::DiagUp25ToRightBankedUp25 + (1 << 0), // TrackElemType::DiagUp25ToLeftBankedUp25 + (1 << 0), // TrackElemType::DiagRightBankedUp25ToUp25 + (1 << 0), // TrackElemType::DiagLeftBankedUp25ToUp25 + (1 << 0), // TrackElemType::DiagDown25ToRightBankedDown25 + (1 << 0), // TrackElemType::DiagDown25ToLeftBankedDown25 + (1 << 0), // TrackElemType::DiagRightBankedDown25ToDown25 + (1 << 0), // TrackElemType::DiagLeftBankedDown25ToDown25 + (1 << 0), // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + (1 << 0), // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + (1 << 0), // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + (1 << 0), // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + (1 << 0), // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + (1 << 0), // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + (1 << 0), // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + (1 << 0), // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + (1 << 0), // TrackElemType::DiagFlatToRightBankedUp25 + (1 << 0), // TrackElemType::DiagFlatToLeftBankedUp25 + (1 << 0), // TrackElemType::DiagRightBankedUp25ToFlat + (1 << 0), // TrackElemType::DiagLeftBankedUp25ToFlat + (1 << 0), // TrackElemType::DiagFlatToRightBankedDown25 + (1 << 0), // TrackElemType::DiagFlatToLeftBankedDown25 + (1 << 0), // TrackElemType::DiagRightBankedDown25ToFlat + (1 << 0), // TrackElemType::DiagLeftBankedDown25ToFlat + (1 << 0), // TrackElemType::DiagUp25RightBanked + (1 << 0), // TrackElemType::DiagUp25LeftBanked + (1 << 0), // TrackElemType::DiagDown25RightBanked + (1 << 0), // TrackElemType::DiagDown25LeftBanked + (1 << 0), // TrackElemType::RightEighthBankToDiagUp25 + (1 << 0), // TrackElemType::LeftEighthBankToDiagUp25 + (1 << 0), // TrackElemType::RightEighthBankToDiagDown25 + (1 << 0), // TrackElemType::LeftEighthBankToDiagDown25 + (1 << 0), // TrackElemType::RightEighthBankToOrthogonalUp25 + (1 << 0), // TrackElemType::LeftEighthBankToOrthogonalUp25 + (1 << 0), // TrackElemType::RightEighthBankToOrthogonalDown25 + (1 << 0), // TrackElemType::LeftEighthBankToOrthogonalDown25 +};//TODO /** rct2: 0x00999A94 */ static constexpr uint8_t TrackSequenceElementAllowedWallEdges[TrackElemType::Count][MaxSequencesPerPiece] = { @@ -5358,7 +5870,51 @@ static constexpr uint8_t TrackSequenceElementAllowedWallEdges[TrackElemType::Cou { 0b1000, 0b1000, 0b1001, 0b0011, 0b0010, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown { 0b1010, 0b1010, 0b1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopInvertedUp { 0, 0b1011, 0b1010, 0b1010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::FlyerHalfLoopUninvertedDown -}; + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToDiagUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthToDiagUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToDiagDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthToDiagDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToOrthogonalUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthToOrthogonalUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthToOrthogonalDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthToOrthogonalDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25ToRightBankedUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25ToLeftBankedUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedUp25ToUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedUp25ToUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25ToRightBankedDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25ToLeftBankedDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedDown25ToDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedDown25ToDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToRightBankedUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToLeftBankedUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedUp25ToFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedUp25ToFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToRightBankedDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagFlatToLeftBankedDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagRightBankedDown25ToFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagLeftBankedDown25ToFlat + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25RightBanked + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagUp25LeftBanked + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25RightBanked + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::DiagDown25LeftBanked + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthBankToDiagUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthBankToDiagUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthBankToDiagDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthBankToDiagDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthBankToOrthogonalUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthBankToOrthogonalUp25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::RightEighthBankToOrthogonalDown25 + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // TrackElemType::LeftEighthBankToOrthogonalDown25 +};//TODO /** rct2: 0x0099423C */ static constexpr uint16_t TrackFlags[TrackElemType::Count] = { @@ -5655,6 +6211,50 @@ static constexpr uint16_t TrackFlags[TrackElemType::Count] = { /* TrackElemType::LeftFlyerLargeHalfLoopInvertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION, /* TrackElemType::FlyerHalfLoopInvertedUp */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, /* TrackElemType::FlyerHalfLoopUnivertedDown */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION, + /* TrackElemType::LeftEighthToDiagUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthToDiagUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftEighthToDiagDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthToDiagDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftEighthToOrthogonalUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthToOrthogonalUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftEighthToOrthogonalDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthToOrthogonalDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::DiagUp25ToLeftBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagUp25ToRightBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagLeftBankedUp25ToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagRightBankedUp25ToUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagDown25ToLeftBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagDown25ToRightBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagLeftBankedDown25ToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagRightBankedDown25ToDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBankedFlatToRightBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagRightBankedUp25ToRightBankedFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagRightBankedFlatToRightBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBankedDown25ToRightBankedFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagFlatToLeftBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagFlatToRightBankedUp25 */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagLeftBankedUp25ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagRightBankedUp25ToFlat */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagFlatToLeftBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagFlatToRightBankedDown25 */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::DiagLeftBankedDown25ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::DiagRightBankedDown25ToFlat */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED, + /* TrackElemType::Up25LeftBanked */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Up25RightBanked */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down25LeftBanked */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::Down25RightBanked */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_BANKED | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT, + /* TrackElemType::LeftEighthBankToDiagUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthBankToDiagUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftEighthBankToDiagDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthBankToDiagDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftEighthBankToOrthogonalUp25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthBankToOrthogonalUp25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::LeftEighthBankToOrthogonalDown25 */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, + /* TrackElemType::RightEighthBankToOrthogonalDown25 */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT | TRACK_ELEM_FLAG_ALLOW_LIFT_HILL | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT, }; // clang-format on @@ -5954,8 +6554,53 @@ static constexpr TrackDefinition TrackDefinitions[TrackElemType::Count] = { TRACK_FLYING_LARGE_HALF_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::RightFlyerLargeHalfLoopInvertedUp { TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::RightFlyerLargeHalfLoopUninvertedDown { TRACK_FLYING_LARGE_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown - {TRACK_FLYING_HALF_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::FlyerHalfLoopInvertedUp - {TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::FlyerHalfLoopUninvertedDown + { TRACK_FLYING_HALF_LOOP_INVERTED_UP, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, 64 }, // TrackElemType::FlyerHalfLoopInvertedUp + { TRACK_FLYING_HALF_LOOP_UNINVERTED_DOWN, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_UPSIDE_DOWN, TRACK_BANK_NONE, -64 }, // TrackElemType::FlyerHalfLoopUninvertedDown + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::LeftEighthToDiagUp25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::RightEighthToDiagUp25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::LeftEighthToDiagDown25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::RightEighthToDiagDown25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::LeftEighthToOrthogonalUp25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::RightEighthToOrthogonalUp25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::LeftEighthToOrthogonalDown25 + { TRACK_SLOPE_CURVE_LARGE, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_NONE, 0 }, // TrackElemType::RightEighthToOrthogonalDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagUp25ToLeftBankedUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagUp25ToRightBankedUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedUp25ToUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedUp25ToUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagDown25ToLeftBankedDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagDown25ToRightBankedDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedDown25ToDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedDown25ToDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagFlatToLeftBankedUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagFlatToRightBankedUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedUp25ToFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_UP_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedUp25ToFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_LEFT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagFlatToLeftBankedDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_NONE, TRACK_BANK_RIGHT, TRACK_BANK_NONE, 0 }, // TrackElemType::DiagFlatToRightBankedDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_LEFT, 0 }, // TrackElemType::DiagLeftBankedDown25ToFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_NONE, TRACK_SLOPE_DOWN_25, TRACK_BANK_NONE, TRACK_BANK_RIGHT, 0 }, // TrackElemType::DiagRightBankedDown25ToFlat + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::Up25LeftBanked + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::Up25RightBanked + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::Down25LeftBanked + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::Down25RightBanked + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::LeftEighthBankToDiagUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::RightEighthBankToDiagUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::LeftEighthBankToDiagDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::RightEighthBankToDiagDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::LeftEighthBankToOrthogonalUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_UP_25, TRACK_SLOPE_UP_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::RightEighthBankToOrthogonalUp25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_LEFT, TRACK_BANK_LEFT, 0 }, // TrackElemType::LeftEighthBankToOrthogonalDown25 + { TRACK_SLOPE_CURVE_LARGE_BANKED, TRACK_SLOPE_DOWN_25, TRACK_SLOPE_DOWN_25, TRACK_BANK_RIGHT, TRACK_BANK_RIGHT, 0 }, // TrackElemType::RightEighthBankToOrthogonalDown25 +//TODO last column - preview z offset }; // clang-format on @@ -5983,8 +6628,11 @@ constexpr static uint8_t TrackTypeToSpinFunction[TrackElemType::Count] = { NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, - NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, -}; + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, + NO_SPIN, NO_SPIN, NO_SPIN, NO_SPIN, +}; // TODO template static int32_t EvaluatorConst(const int16_t) { @@ -6235,6 +6883,34 @@ static constexpr TrackComputeFunction GetLateralFunction(const uint16_t type) case TrackElemType::FlatToRightBankedUp25: case TrackElemType::LeftBankedDown25ToFlat: case TrackElemType::RightBankedDown25ToFlat: + case TrackElemType::DiagUp25ToLeftBankedUp25: + case TrackElemType::DiagUp25ToRightBankedUp25: + case TrackElemType::DiagLeftBankedUp25ToUp25: + case TrackElemType::DiagRightBankedUp25ToUp25: + case TrackElemType::DiagDown25ToLeftBankedDown25: + case TrackElemType::DiagDown25ToRightBankedDown25: + case TrackElemType::DiagLeftBankedDown25ToDown25: + case TrackElemType::DiagRightBankedDown25ToDown25: + case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: + case TrackElemType::DiagRightBankedFlatToRightBankedUp25: + case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: + case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: + case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: + case TrackElemType::DiagRightBankedFlatToRightBankedDown25: + case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: + case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: + case TrackElemType::DiagFlatToLeftBankedUp25: + case TrackElemType::DiagFlatToRightBankedUp25: + case TrackElemType::DiagLeftBankedUp25ToFlat: + case TrackElemType::DiagRightBankedUp25ToFlat: + case TrackElemType::DiagFlatToLeftBankedDown25: + case TrackElemType::DiagFlatToRightBankedDown25: + case TrackElemType::DiagLeftBankedDown25ToFlat: + case TrackElemType::DiagRightBankedDown25ToFlat: + case TrackElemType::DiagUp25LeftBanked: + case TrackElemType::DiagUp25RightBanked: + case TrackElemType::DiagDown25LeftBanked: + case TrackElemType::DiagDown25RightBanked: return EvaluatorConst<0>; case TrackElemType::Up25ToFlat: // case TrackElemType::FlatToDown25: // @@ -6389,15 +7065,31 @@ static constexpr TrackComputeFunction GetLateralFunction(const uint16_t type) return EvaluatorConst<0>; case TrackElemType::LeftEighthToDiag: case TrackElemType::LeftEighthToOrthogonal: + case TrackElemType::LeftEighthToDiagUp25: + case TrackElemType::LeftEighthToDiagDown25: + case TrackElemType::LeftEighthToOrthogonalUp25: + case TrackElemType::LeftEighthToOrthogonalDown25: return EvaluatorConst<137>; case TrackElemType::RightEighthToDiag: case TrackElemType::RightEighthToOrthogonal: + case TrackElemType::RightEighthToDiagUp25: + case TrackElemType::RightEighthToDiagDown25: + case TrackElemType::RightEighthToOrthogonalUp25: + case TrackElemType::RightEighthToOrthogonalDown25: return EvaluatorConst<-137>; case TrackElemType::LeftEighthBankToDiag: case TrackElemType::LeftEighthBankToOrthogonal: + case TrackElemType::LeftEighthBankToDiagUp25: + case TrackElemType::LeftEighthBankToDiagDown25: + case TrackElemType::LeftEighthBankToOrthogonalUp25: + case TrackElemType::LeftEighthBankToOrthogonalDown25: return EvaluatorConst<200>; case TrackElemType::RightEighthBankToDiag: case TrackElemType::RightEighthBankToOrthogonal: + case TrackElemType::RightEighthBankToDiagUp25: + case TrackElemType::RightEighthBankToDiagDown25: + case TrackElemType::RightEighthBankToOrthogonalUp25: + case TrackElemType::RightEighthBankToOrthogonalDown25: return EvaluatorConst<-200>; case TrackElemType::DiagFlatToUp25: case TrackElemType::DiagDown25ToFlat: @@ -6566,6 +7258,26 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) case TrackElemType::RightQuarterTurn1TileUp90: case TrackElemType::LeftQuarterTurn1TileDown90: case TrackElemType::RightQuarterTurn1TileDown90: + case TrackElemType::LeftEighthToDiagUp25: + case TrackElemType::RightEighthToDiagUp25: + case TrackElemType::LeftEighthToDiagDown25: + case TrackElemType::RightEighthToDiagDown25: + case TrackElemType::LeftEighthToOrthogonalUp25: + case TrackElemType::RightEighthToOrthogonalUp25: + case TrackElemType::LeftEighthToOrthogonalDown25: + case TrackElemType::RightEighthToOrthogonalDown25: + case TrackElemType::DiagUp25ToLeftBankedUp25: + case TrackElemType::DiagUp25ToRightBankedUp25: + case TrackElemType::DiagLeftBankedUp25ToUp25: + case TrackElemType::DiagRightBankedUp25ToUp25: + case TrackElemType::DiagDown25ToLeftBankedDown25: + case TrackElemType::DiagDown25ToRightBankedDown25: + case TrackElemType::DiagLeftBankedDown25ToDown25: + case TrackElemType::DiagRightBankedDown25ToDown25: + case TrackElemType::DiagUp25LeftBanked: + case TrackElemType::DiagUp25RightBanked: + case TrackElemType::DiagDown25LeftBanked: + case TrackElemType::DiagDown25RightBanked: return EvaluatorConst<0>; case TrackElemType::FlatToUp25: // case TrackElemType::Down25ToFlat: // @@ -6743,9 +7455,17 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) return EvaluatorConst<0>; case TrackElemType::LeftEighthBankToDiag: case TrackElemType::LeftEighthBankToOrthogonal: + case TrackElemType::LeftEighthBankToDiagUp25: + case TrackElemType::LeftEighthBankToDiagDown25: + case TrackElemType::LeftEighthBankToOrthogonalUp25: + case TrackElemType::LeftEighthBankToOrthogonalDown25: return EvaluatorConst<270>; case TrackElemType::RightEighthBankToDiag: case TrackElemType::RightEighthBankToOrthogonal: + case TrackElemType::RightEighthBankToDiagUp25: + case TrackElemType::RightEighthBankToDiagDown25: + case TrackElemType::RightEighthBankToOrthogonalUp25: + case TrackElemType::RightEighthBankToOrthogonalDown25: return EvaluatorConst<270>; case TrackElemType::DiagFlatToUp25: case TrackElemType::DiagDown25ToFlat: @@ -6753,6 +7473,14 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) case TrackElemType::DiagRightBankToUp25: case TrackElemType::DiagDown25ToLeftBank: case TrackElemType::DiagDown25ToRightBank: + case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: + case TrackElemType::DiagRightBankedFlatToRightBankedUp25: + case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: + case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: + case TrackElemType::DiagFlatToLeftBankedUp25: + case TrackElemType::DiagFlatToRightBankedUp25: + case TrackElemType::DiagLeftBankedDown25ToFlat: + case TrackElemType::DiagRightBankedDown25ToFlat: return EvaluatorConst<113>; case TrackElemType::DiagUp25ToFlat: case TrackElemType::DiagFlatToDown25: @@ -6760,6 +7488,14 @@ static constexpr TrackComputeFunction GetVerticalFunction(const uint16_t type) case TrackElemType::DiagUp25ToRightBank: case TrackElemType::DiagLeftBankToDown25: case TrackElemType::DiagRightBankToDown25: + case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: + case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: + case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: + case TrackElemType::DiagRightBankedFlatToRightBankedDown25: + case TrackElemType::DiagLeftBankedUp25ToFlat: + case TrackElemType::DiagRightBankedUp25ToFlat: + case TrackElemType::DiagFlatToLeftBankedDown25: + case TrackElemType::DiagFlatToRightBankedDown25: return EvaluatorConst<-113>; case TrackElemType::DiagUp25ToUp60: case TrackElemType::DiagDown60ToDown25: @@ -7141,6 +7877,50 @@ static constexpr const StringId RideConfigurationStringIds[] = { STR_LARGE_HALF_LOOP_LEFT, // TrackElemType::LeftFlyerLargeHalfLoopUninvertedDown STR_HALF_LOOP, // TrackElemType::FlyerHalfLoopInvertedUp STR_HALF_LOOP, // TrackElemType::FlyerHalfLoopUninvertedDown + STR_EMPTY, // TrackElemType::LeftEighthToDiagUp25 + STR_EMPTY, // TrackElemType::RightEighthToDiagUp25 + STR_EMPTY, // TrackElemType::LeftEighthToDiagDown25 + STR_EMPTY, // TrackElemType::RightEighthToDiagDown25 + STR_EMPTY, // TrackElemType::LeftEighthToOrthogonalUp25 + STR_EMPTY, // TrackElemType::RightEighthToOrthogonalUp25 + STR_EMPTY, // TrackElemType::LeftEighthToOrthogonalDown25 + STR_EMPTY, // TrackElemType::RightEighthToOrthogonalDown25 + STR_EMPTY, // TrackElemType::DiagUp25ToLeftBankedUp25 + STR_EMPTY, // TrackElemType::DiagUp25ToRightBankedUp25 + STR_EMPTY, // TrackElemType::DiagLeftBankedUp25ToUp25 + STR_EMPTY, // TrackElemType::DiagRightBankedUp25ToUp25 + STR_EMPTY, // TrackElemType::DiagDown25ToLeftBankedDown25 + STR_EMPTY, // TrackElemType::DiagDown25ToRightBankedDown25 + STR_EMPTY, // TrackElemType::DiagLeftBankedDown25ToDown25 + STR_EMPTY, // TrackElemType::DiagRightBankedDown25ToDown25 + STR_EMPTY, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + STR_EMPTY, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + STR_EMPTY, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + STR_EMPTY, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + STR_EMPTY, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + STR_EMPTY, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + STR_EMPTY, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + STR_EMPTY, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + STR_EMPTY, // TrackElemType::DiagFlatToLeftBankedUp25 + STR_EMPTY, // TrackElemType::DiagFlatToRightBankedUp25 + STR_EMPTY, // TrackElemType::DiagLeftBankedUp25ToFlat + STR_EMPTY, // TrackElemType::DiagRightBankedUp25ToFlat + STR_EMPTY, // TrackElemType::DiagFlatToLeftBankedDown25 + STR_EMPTY, // TrackElemType::DiagFlatToRightBankedDown25 + STR_EMPTY, // TrackElemType::DiagLeftBankedDown25ToFlat + STR_EMPTY, // TrackElemType::DiagRightBankedDown25ToFlat + STR_EMPTY, // TrackElemType::Up25LeftBanked + STR_EMPTY, // TrackElemType::Up25RightBanked + STR_EMPTY, // TrackElemType::Down25LeftBanked + STR_EMPTY, // TrackElemType::Down25RightBanked + STR_EMPTY, // TrackElemType::LeftEighthBankToDiagUp25 + STR_EMPTY, // TrackElemType::RightEighthBankToDiagUp25 + STR_EMPTY, // TrackElemType::LeftEighthBankToDiagDown25 + STR_EMPTY, // TrackElemType::RightEighthBankToDiagDown25 + STR_EMPTY, // TrackElemType::LeftEighthBankToOrthogonalUp25 + STR_EMPTY, // TrackElemType::RightEighthBankToOrthogonalUp25 + STR_EMPTY, // TrackElemType::LeftEighthBankToOrthogonalDown25 + STR_EMPTY, // TrackElemType::RightEighthBankToOrthogonalDown25 }; namespace OpenRCT2 diff --git a/src/openrct2/ride/TrackData.h b/src/openrct2/ride/TrackData.h index 6c50546d03..08ca4cf3b7 100644 --- a/src/openrct2/ride/TrackData.h +++ b/src/openrct2/ride/TrackData.h @@ -31,7 +31,7 @@ struct TrackDescriptor uint8_t track_curve; uint8_t slope_end; uint8_t bank_end; - uint8_t track_element; + track_type_t track_element; }; enum @@ -51,7 +51,7 @@ enum R9_SPIN }; -extern const TrackDescriptor gTrackDescriptors[142]; +extern const TrackDescriptor gTrackDescriptors[186]; struct DodgemsTrackSize { diff --git a/src/openrct2/ride/VehiclePaint.cpp b/src/openrct2/ride/VehiclePaint.cpp index 466fdf8c4d..706cc8505e 100644 --- a/src/openrct2/ride/VehiclePaint.cpp +++ b/src/openrct2/ride/VehiclePaint.cpp @@ -3190,6 +3190,36 @@ static void VehiclePitchUp8BankedRight22( } } +static void VehiclePitchUp8BankedLeft45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes8Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes8Banked45, imageDirection, 0); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchUp8Unbanked(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchUp8BankedRight45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes8Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes8Banked45, imageDirection, 1); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchUp8Unbanked(session, vehicle, imageDirection, z, carEntry); + } +} + // 6D4D60 static void VehiclePitchUp8( PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) @@ -3208,6 +3238,12 @@ static void VehiclePitchUp8( case 18: VehiclePitchUp8BankedRight22(session, vehicle, imageDirection, z, carEntry); break; + case 2: + VehiclePitchUp8BankedLeft45(session, vehicle, imageDirection, z, carEntry); + break; + case 4: + VehiclePitchUp8BankedRight45(session, vehicle, imageDirection, z, carEntry); + break; default: VehiclePitchUp8Unbanked(session, vehicle, imageDirection, z, carEntry); break; @@ -3219,7 +3255,7 @@ static void VehiclePitchUp8( #pragma region SlopeUp16 // 6D4E3A -static void VehiclePitchUp16( +static void VehiclePitchUp16Unbanked( PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) { if (carEntry->GroupEnabled(SpriteGroupType::Slopes16)) @@ -3234,6 +3270,92 @@ static void VehiclePitchUp16( } } +static void VehiclePitchUp16BankedLeft22( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked22)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked22, imageDirection, 0); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchUp16Unbanked(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchUp16BankedRight22( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked22)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked22, imageDirection, 1); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchUp16Unbanked(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchUp16BankedLeft45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked45, imageDirection, 0); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchUp16BankedLeft22(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchUp16BankedRight45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked45, imageDirection, 1); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchUp16BankedRight22(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchUp16( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + switch (vehicle->bank_rotation) + { + case 0: + VehiclePitchUp16Unbanked(session, vehicle, imageDirection, z, carEntry); + break; + case 1: + VehiclePitchUp16BankedLeft22(session, vehicle, imageDirection, z, carEntry); + break; + case 3: + VehiclePitchUp16BankedRight22(session, vehicle, imageDirection, z, carEntry); + break; + case 2: + VehiclePitchUp16BankedLeft45(session, vehicle, imageDirection, z, carEntry); + break; + case 4: + VehiclePitchUp16BankedRight45(session, vehicle, imageDirection, z, carEntry); + break; + default: + VehiclePitchUp16Unbanked(session, vehicle, imageDirection, z, carEntry); + break; + } +} + #pragma endregion #pragma region SlopeUp50 @@ -3310,6 +3432,36 @@ static void VehiclePitchDown8BankedRight22( } } +static void VehiclePitchDown8BankedLeft45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes8Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes8Banked45, imageDirection, 2); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchFlat(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchDown8BankedRight45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes8Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes8Banked45, imageDirection, 3); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchFlat(session, vehicle, imageDirection, z, carEntry); + } +} + // 6D4D89 static void VehiclePitchDown8( PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) @@ -3328,6 +3480,12 @@ static void VehiclePitchDown8( case 18: VehiclePitchDown8BankedRight22(session, vehicle, imageDirection, z, carEntry); break; + case 2: + VehiclePitchDown8BankedLeft45(session, vehicle, imageDirection, z, carEntry); + break; + case 4: + VehiclePitchDown8BankedRight45(session, vehicle, imageDirection, z, carEntry); + break; default: VehiclePitchDown8Unbanked(session, vehicle, imageDirection, z, carEntry); break; @@ -3339,7 +3497,7 @@ static void VehiclePitchDown8( #pragma region SlopeDown16 // 6D4E63 -static void VehiclePitchDown16( +static void VehiclePitchDown16Unbanked( PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) { if (carEntry->GroupEnabled(SpriteGroupType::Slopes16)) @@ -3354,6 +3512,92 @@ static void VehiclePitchDown16( } } +static void VehiclePitchDown16BankedLeft22( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked22)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked22, imageDirection, 2); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchDown16Unbanked(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchDown16BankedRight22( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked22)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked22, imageDirection, 3); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchDown16Unbanked(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchDown16BankedLeft45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked45, imageDirection, 2); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchDown16BankedLeft22(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchDown16BankedRight45( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + if (carEntry->GroupEnabled(SpriteGroupType::Slopes16Banked45)) + { + int32_t boundingBoxNum = YawTo16(imageDirection); + int32_t spriteNum = carEntry->SpriteOffset(SpriteGroupType::Slopes16Banked45, imageDirection, 3); + VehicleSpritePaintWithSwinging(session, vehicle, spriteNum, boundingBoxNum, z, carEntry); + } + else + { + VehiclePitchDown16BankedRight22(session, vehicle, imageDirection, z, carEntry); + } +} + +static void VehiclePitchDown16( + PaintSession& session, const Vehicle* vehicle, int32_t imageDirection, int32_t z, const CarEntry* carEntry) +{ + switch (vehicle->bank_rotation) + { + case 0: + VehiclePitchDown16Unbanked(session, vehicle, imageDirection, z, carEntry); + break; + case 1: + VehiclePitchDown16BankedLeft22(session, vehicle, imageDirection, z, carEntry); + break; + case 3: + VehiclePitchDown16BankedRight22(session, vehicle, imageDirection, z, carEntry); + break; + case 2: + VehiclePitchDown16BankedLeft45(session, vehicle, imageDirection, z, carEntry); + break; + case 4: + VehiclePitchDown16BankedRight45(session, vehicle, imageDirection, z, carEntry); + break; + default: + VehiclePitchDown16Unbanked(session, vehicle, imageDirection, z, carEntry); + break; + } +} + #pragma endregion #pragma region SlopeDown50 diff --git a/src/openrct2/ride/VehicleSubpositionData.cpp b/src/openrct2/ride/VehicleSubpositionData.cpp index 64f0d1676f..88fcc36d35 100644 --- a/src/openrct2/ride/VehicleSubpositionData.cpp +++ b/src/openrct2/ride/VehicleSubpositionData.cpp @@ -8642,6 +8642,9 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_90FEF8, { { 16, 16, 0, 24, 18, 0 }, }) + +//LeftEighthToDiag + CREATE_VEHICLE_INFO(TrackVehicleInfo_9108DA, { { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, @@ -8718,6 +8721,8 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_911147, { { 44, -44, 0, 20, 0, 0 }, { 44, -45, 0, 20, 0, 0 }, { 45, -46, 0, 20, 0, 0 }, { 46, -47, 0, 20, 0, 0 }, { 47, -48, 0, 20, 0, 0 }, }) +//RightEighthToDiag + CREATE_VEHICLE_INFO(TrackVehicleInfo_911F58, { { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, @@ -8794,6 +8799,8 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9127CE, { { -12, -44, 0, 28, 0, 0 }, { -13, -45, 0, 28, 0, 0 }, { -14, -46, 0, 28, 0, 0 }, { -15, -47, 0, 28, 0, 0 }, { -16, -48, 0, 28, 0, 0 }, }) +//LeftEighthToOrthogonal + CREATE_VEHICLE_INFO(TrackVehicleInfo_911419, { { 15, 17, 0, 4, 0, 0 }, { 14, 18, 0, 4, 0, 0 }, { 13, 19, 0, 4, 0, 0 }, { 12, 20, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 0, 4, 0, 0 }, { 7, 24, 0, 3, 0, 0 }, { 6, 25, 0, 3, 0, 0 }, @@ -8870,6 +8877,8 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_911C86, { { -16, -60, 0, 24, 0, 0 }, { -16, -61, 0, 24, 0, 0 }, { -16, -62, 0, 24, 0, 0 }, { -16, -63, 0, 24, 0, 0 }, { -16, -64, 0, 24, 0, 0 }, }) +//RightEighthToOrthogonal + CREATE_VEHICLE_INFO(TrackVehicleInfo_912AA0, { { 15, 17, 0, 4, 0, 0 }, { 14, 18, 0, 4, 0, 0 }, { 13, 19, 0, 4, 0, 0 }, { 12, 20, 0, 4, 0, 0 }, { 12, 21, 0, 4, 0, 0 }, { 11, 22, 0, 4, 0, 0 }, { 10, 23, 0, 4, 0, 0 }, { 9, 24, 0, 4, 0, 0 }, { 8, 25, 0, 5, 0, 0 }, { 7, 26, 0, 5, 0, 0 }, @@ -22044,837 +22053,839 @@ CREATE_VEHICLE_INFO(TrackVehicleInfoRightLargeCorkscrewDown3, { }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopUp0, { - { 31, 16, -1, 0, 2, 0}, { 30, 16, 0, 0, 2, 0}, { 29, 16, 0, 0, 2, 0}, { 28, 15, 1, 0, 2, 0}, { 27, 15, 1, 0, 2, 0}, - { 26, 15, 2, 0, 2, 0}, { 26, 15, 2, 0, 2, 0}, { 25, 15, 3, 0, 2, 0}, { 24, 15, 3, 0, 2, 0}, { 23, 15, 4, 0, 2, 0}, - { 22, 15, 4, 0, 2, 0}, { 21, 14, 5, 0, 2, 0}, { 20, 14, 5, 0, 2, 0}, { 19, 14, 6, 0, 2, 0}, { 18, 14, 6, 0, 2, 0}, - { 18, 14, 7, 0, 2, 0}, { 17, 14, 7, 0, 2, 0}, { 16, 14, 8, 0, 2, 0}, { 15, 14, 9, 0, 2, 0}, { 14, 13, 9, 0, 2, 0}, - { 13, 13, 10, 0, 2, 0}, { 12, 13, 10, 0, 2, 0}, { 11, 13, 11, 0, 2, 0}, { 11, 13, 11, 0, 2, 0}, { 10, 13, 12, 0, 2, 0}, - { 9, 13, 13, 0, 2, 0}, { 8, 12, 13, 0, 2, 0}, { 7, 12, 14, 0, 2, 0}, { 6, 12, 14, 0, 2, 0}, { 5, 12, 15, 0, 2, 0}, - { 4, 12, 16, 0, 2, 0}, { 4, 12, 16, 0, 2, 0}, { 3, 12, 17, 0, 2, 0}, { 2, 12, 17, 0, 3, 0}, { 1, 11, 18, 0, 3, 0}, - { 0, 11, 19, 0, 3, 0}, { -1, 11, 19, 0, 3, 0}, { -1, 11, 20, 0, 3, 0}, { -2, 11, 21, 0, 3, 0}, { -3, 11, 21, 0, 3, 0}, - { -4, 11, 22, 0, 3, 0}, { -5, 11, 23, 0, 3, 0}, { -6, 10, 23, 0, 3, 0}, { -6, 10, 24, 0, 3, 0}, { -7, 10, 25, 0, 3, 0}, - { -8, 10, 25, 0, 3, 0}, { -9, 10, 26, 0, 3, 0}, { -10, 10, 27, 0, 3, 0}, { -11, 10, 28, 0, 3, 0}, { -11, 9, 28, 0, 3, 0}, - { -12, 9, 29, 0, 3, 0}, { -13, 9, 30, 0, 3, 0}, { -14, 9, 30, 0, 3, 0}, { -14, 9, 31, 0, 3, 0}, { -15, 9, 32, 0, 3, 0}, - { -16, 9, 33, 0, 3, 0}, { -17, 9, 33, 0, 3, 0}, { -18, 8, 34, 0, 3, 0}, { -18, 8, 35, 0, 3, 0}, { -19, 8, 36, 0, 3, 0}, - { -20, 8, 37, 0, 3, 0}, { -21, 8, 37, 0, 3, 0}, { -21, 8, 38, 0, 3, 0}, { -22, 8, 39, 0, 3, 0}, { -23, 8, 40, 0, 3, 0}, - { -24, 7, 41, 0, 3, 0}, { -24, 7, 41, 0, 3, 0}, { -25, 7, 42, 0, 3, 0}, { -26, 7, 43, 0, 3, 0}, { -26, 7, 44, 0, 3, 0}, - { -27, 7, 45, 0, 3, 0}, { -28, 7, 46, 0, 3, 0}, { -29, 6, 46, 0, 3, 0}, { -29, 6, 47, 0, 3, 0}, { -30, 6, 48, 0, 3, 0}, - { -31, 6, 49, 0, 3, 0}, { -31, 6, 50, 0, 3, 0}, { -32, 6, 51, 0, 3, 0}, { -33, 6, 52, 0, 3, 0}, { -33, 6, 53, 0, 3, 0}, - { -34, 5, 53, 0, 3, 0}, { -35, 5, 54, 0, 3, 0}, { -35, 5, 55, 0, 3, 0}, { -36, 5, 56, 0, 4, 0}, { -37, 5, 57, 0, 4, 0}, - { -37, 5, 58, 0, 4, 0}, { -38, 5, 59, 0, 4, 0}, { -38, 5, 60, 0, 4, 0}, { -39, 4, 61, 0, 4, 0}, { -40, 4, 62, 0, 4, 0}, - { -40, 4, 63, 0, 4, 0}, { -41, 4, 64, 0, 4, 0}, { -42, 4, 65, 0, 4, 0}, { -42, 4, 66, 0, 4, 0}, { -43, 4, 67, 0, 4, 0}, - { -43, 3, 68, 0, 4, 0}, { -44, 3, 69, 0, 4, 0}, { -44, 3, 70, 0, 4, 0}, { -45, 3, 71, 0, 4, 0}, { -45, 3, 72, 0, 4, 0}, - { -46, 3, 73, 0, 4, 0}, { -47, 3, 74, 0, 4, 0}, { -47, 3, 75, 0, 4, 0}, { -48, 2, 76, 0, 4, 0}, { -48, 2, 77, 0, 4, 0}, - { -49, 2, 78, 0, 4, 0}, { -49, 2, 79, 0, 4, 0}, { -50, 2, 80, 0, 4, 0}, { -50, 2, 81, 0, 4, 0}, { -50, 2, 82, 0, 4, 0}, - { -51, 2, 83, 0, 4, 0}, { -51, 1, 84, 0, 4, 0}, { -52, 1, 86, 0, 4, 0}, { -52, 1, 87, 0, 4, 0}, { -53, 1, 88, 0, 4, 0}, - { -53, 1, 89, 0, 4, 0}, { -53, 1, 90, 0, 4, 0}, { -54, 1, 91, 0, 9, 0}, { -54, 0, 92, 0, 9, 0}, { -55, 0, 93, 0, 9, 0}, - { -55, 0, 94, 0, 9, 0}, { -55, 0, 96, 0, 9, 0}, { -56, 0, 97, 0, 9, 0}, { -56, 0, 98, 0, 9, 0}, { -56, 0, 99, 0, 9, 0}, - { -57, 0, 100, 0, 9, 0}, { -57, -1, 101, 0, 9, 0}, { -57, -1, 102, 0, 9, 0}, { -58, -1, 104, 0, 9, 0}, { -58, -1, 105, 0, 9, 0}, - { -58, -1, 106, 0, 9, 0}, { -58, -1, 107, 0, 9, 0}, { -59, -1, 108, 0, 9, 0}, { -59, -1, 109, 0, 9, 0}, { -59, -2, 111, 0, 9, 0}, - { -59, -2, 112, 0, 9, 0}, { -60, -2, 113, 0, 9, 0}, { -60, -2, 114, 0, 9, 0}, { -60, -2, 115, 0, 9, 0}, { -60, -2, 117, 0, 9, 0}, - { -60, -2, 118, 0, 9, 0}, { -60, -3, 119, 0, 10, 0}, { -60, -3, 120, 0, 10, 0}, { -61, -3, 121, 0, 10, 0}, { -61, -3, 123, 0, 10, 0}, - { -61, -3, 124, 0, 10, 0}, { -61, -3, 125, 0, 10, 0}, { -61, -3, 126, 0, 10, 0}, { -61, -3, 127, 0, 10, 0}, { -61, -4, 129, 0, 10, 0}, - { -61, -4, 130, 0, 10, 0}, { -61, -4, 131, 0, 10, 0}, { -61, -4, 132, 0, 10, 0}, { -61, -4, 134, 0, 10, 0}, { -60, -4, 135, 0, 10, 0}, - { -60, -4, 136, 0, 10, 0}, { -60, -4, 137, 0, 11, 0}, { -60, -5, 138, 0, 11, 0}, { -60, -5, 140, 0, 11, 0}, { -60, -5, 141, 0, 11, 0}, - { -60, -5, 142, 0, 11, 0}, { -59, -5, 143, 0, 11, 0}, { -59, -5, 144, 0, 11, 0}, { -59, -5, 145, 0, 11, 0}, { -59, -6, 147, 0, 11, 0}, - { -58, -6, 148, 0, 11, 0}, { -58, -6, 149, 0, 11, 0}, { -58, -6, 150, 0, 11, 0}, { -58, -6, 151, 0, 11, 0}, { -57, -6, 152, 0, 11, 0}, - { -57, -6, 154, 0, 11, 0}, { -56, -6, 155, 0, 11, 0}, { -56, -7, 156, 0, 12, 0}, { -56, -7, 157, 0, 12, 0}, { -55, -7, 158, 0, 12, 0}, - { -55, -7, 159, 0, 12, 0}, { -54, -7, 160, 0, 12, 0}, { -54, -7, 161, 0, 12, 0}, { -54, -7, 162, 0, 12, 0}, { -53, -8, 163, 0, 12, 0}, - { -53, -8, 165, 0, 12, 0}, { -52, -8, 166, 0, 12, 0}, { -52, -8, 167, 0, 12, 0}, { -51, -8, 168, 0, 12, 0}, { -50, -8, 169, 0, 12, 0}, - { -50, -8, 170, 0, 12, 0}, { -49, -8, 171, 0, 12, 0}, { -49, -9, 172, 0, 12, 0}, { -48, -9, 173, 0, 13, 0}, { -48, -9, 174, 0, 13, 0}, - { -47, -9, 174, 0, 13, 0}, { -46, -9, 175, 0, 13, 0}, { -46, -9, 176, 0, 13, 0}, { -45, -9, 177, 0, 13, 0}, { -44, -9, 178, 0, 13, 0}, - { -44, -10, 179, 0, 13, 0}, { -43, -10, 180, 0, 13, 0}, { -42, -10, 181, 0, 13, 0}, { -41, -10, 182, 0, 13, 0}, { -41, -10, 182, 0, 13, 0}, - { -40, -10, 183, 0, 13, 0}, { -39, -10, 184, 0, 13, 0}, { -39, -11, 185, 0, 13, 0}, { -38, -11, 186, 0, 13, 0}, { -37, -11, 186, 0, 13, 0}, - { -36, -11, 187, 0, 14, 0}, { -35, -11, 188, 0, 14, 0}, { -35, -11, 188, 0, 14, 0}, { -34, -11, 189, 0, 14, 0}, { -33, -11, 190, 0, 14, 0}, - { -32, -12, 190, 0, 14, 0}, { -31, -12, 191, 0, 14, 0}, { -30, -12, 192, 0, 14, 0}, { -30, -12, 192, 0, 14, 0}, { -29, -12, 193, 0, 14, 0}, - { -28, -12, 193, 0, 14, 0}, { -27, -12, 194, 0, 14, 0}, { -26, -12, 195, 0, 14, 0}, { -25, -13, 195, 0, 14, 0}, { -24, -13, 196, 0, 14, 0}, - { -23, -13, 196, 0, 14, 0}, { -22, -13, 196, 0, 15, 0}, { -21, -13, 197, 0, 15, 0}, { -21, -13, 197, 0, 15, 0}, { -20, -13, 198, 0, 15, 0}, - { -19, -14, 198, 0, 15, 0}, { -18, -14, 198, 0, 15, 0}, { -17, -14, 199, 0, 15, 0}, { -16, -14, 199, 0, 15, 0}, { -15, -14, 199, 0, 15, 0}, - { -14, -14, 200, 0, 15, 0}, { -13, -14, 200, 0, 15, 0}, { -12, -14, 200, 0, 15, 0}, { -11, -15, 200, 0, 15, 0}, { -10, -15, 201, 0, 15, 0}, - { -9, -15, 201, 0, 15, 0}, { -8, -15, 201, 0, 15, 0}, { -7, -15, 201, 0, 16, 0}, { -6, -15, 201, 0, 16, 0}, { -5, -15, 201, 0, 16, 0}, - { -4, -15, 202, 0, 16, 0}, { -3, -16, 202, 0, 16, 0}, { -2, -16, 202, 0, 16, 0}, { -1, -16, 202, 0, 16, 0}, { 0, -16, 202, 0, 16, 0}, + {31, 16, -1, 0, 2, 0}, {30, 16, 0, 0, 2, 0}, {29, 16, 0, 0, 2, 0}, {28, 15, 1, 0, 2, 0}, {27, 15, 1, 0, 2, 0}, + {26, 15, 2, 0, 2, 0}, {26, 15, 2, 0, 2, 0}, {25, 15, 3, 0, 2, 0}, {24, 15, 3, 0, 2, 0}, {23, 15, 4, 0, 2, 0}, + {22, 15, 4, 0, 2, 0}, {21, 14, 5, 0, 2, 0}, {20, 14, 5, 0, 2, 0}, {19, 14, 6, 0, 2, 0}, {18, 14, 6, 0, 2, 0}, + {18, 14, 7, 0, 2, 0}, {17, 14, 7, 0, 2, 0}, {16, 14, 8, 0, 2, 0}, {15, 14, 9, 0, 2, 0}, {14, 13, 9, 0, 2, 0}, + {13, 13, 10, 0, 2, 0}, {12, 13, 10, 0, 2, 0}, {11, 13, 11, 0, 2, 0}, {11, 13, 11, 0, 2, 0}, {10, 13, 12, 0, 2, 0}, + {9, 13, 13, 0, 2, 0}, {8, 12, 13, 0, 2, 0}, {7, 12, 14, 0, 2, 0}, {6, 12, 14, 0, 2, 0}, {5, 12, 15, 0, 2, 0}, + {4, 12, 16, 0, 2, 0}, {4, 12, 16, 0, 2, 0}, {3, 12, 17, 0, 2, 0}, {2, 12, 17, 0, 3, 0}, {1, 11, 18, 0, 3, 0}, + {0, 11, 19, 0, 3, 0}, {-1, 11, 19, 0, 3, 0}, {-1, 11, 20, 0, 3, 0}, {-2, 11, 21, 0, 3, 0}, {-3, 11, 21, 0, 3, 0}, + {-4, 11, 22, 0, 3, 0}, {-5, 11, 23, 0, 3, 0}, {-6, 10, 23, 0, 3, 0}, {-6, 10, 24, 0, 3, 0}, {-7, 10, 25, 0, 3, 0}, + {-8, 10, 25, 0, 3, 0}, {-9, 10, 26, 0, 3, 0}, {-10, 10, 27, 0, 3, 0}, {-11, 10, 28, 0, 3, 0}, {-11, 9, 28, 0, 3, 0}, + {-12, 9, 29, 0, 3, 0}, {-13, 9, 30, 0, 3, 0}, {-14, 9, 30, 0, 3, 0}, {-14, 9, 31, 0, 3, 0}, {-15, 9, 32, 0, 3, 0}, + {-16, 9, 33, 0, 3, 0}, {-17, 9, 33, 0, 3, 0}, {-18, 8, 34, 0, 3, 0}, {-18, 8, 35, 0, 3, 0}, {-19, 8, 36, 0, 3, 0}, + {-20, 8, 37, 0, 3, 0}, {-21, 8, 37, 0, 3, 0}, {-21, 8, 38, 0, 3, 0}, {-22, 8, 39, 0, 3, 0}, {-23, 8, 40, 0, 3, 0}, + {-24, 7, 41, 0, 3, 0}, {-24, 7, 41, 0, 3, 0}, {-25, 7, 42, 0, 3, 0}, {-26, 7, 43, 0, 3, 0}, {-26, 7, 44, 0, 3, 0}, + {-27, 7, 45, 0, 3, 0}, {-28, 7, 46, 0, 3, 0}, {-29, 6, 46, 0, 3, 0}, {-29, 6, 47, 0, 3, 0}, {-30, 6, 48, 0, 3, 0}, + {-31, 6, 49, 0, 3, 0}, {-31, 6, 50, 0, 3, 0}, {-32, 6, 51, 0, 3, 0}, {-33, 6, 52, 0, 3, 0}, {-33, 6, 53, 0, 3, 0}, + {-34, 5, 53, 0, 3, 0}, {-35, 5, 54, 0, 3, 0}, {-35, 5, 55, 0, 3, 0}, {-36, 5, 56, 0, 4, 0}, {-37, 5, 57, 0, 4, 0}, + {-37, 5, 58, 0, 4, 0}, {-38, 5, 59, 0, 4, 0}, {-38, 5, 60, 0, 4, 0}, {-39, 4, 61, 0, 4, 0}, {-40, 4, 62, 0, 4, 0}, + {-40, 4, 63, 0, 4, 0}, {-41, 4, 64, 0, 4, 0}, {-42, 4, 65, 0, 4, 0}, {-42, 4, 66, 0, 4, 0}, {-43, 4, 67, 0, 4, 0}, + {-43, 3, 68, 0, 4, 0}, {-44, 3, 69, 0, 4, 0}, {-44, 3, 70, 0, 4, 0}, {-45, 3, 71, 0, 4, 0}, {-45, 3, 72, 0, 4, 0}, + {-46, 3, 73, 0, 4, 0}, {-47, 3, 74, 0, 4, 0}, {-47, 3, 75, 0, 4, 0}, {-48, 2, 76, 0, 4, 0}, {-48, 2, 77, 0, 4, 0}, + {-49, 2, 78, 0, 4, 0}, {-49, 2, 79, 0, 4, 0}, {-50, 2, 80, 0, 4, 0}, {-50, 2, 81, 0, 4, 0}, {-50, 2, 82, 0, 4, 0}, + {-51, 2, 83, 0, 4, 0}, {-51, 1, 84, 0, 4, 0}, {-52, 1, 86, 0, 4, 0}, {-52, 1, 87, 0, 4, 0}, {-53, 1, 88, 0, 4, 0}, + {-53, 1, 89, 0, 4, 0}, {-53, 1, 90, 0, 4, 0}, {-54, 1, 91, 0, 9, 0}, {-54, 0, 92, 0, 9, 0}, {-55, 0, 93, 0, 9, 0}, + {-55, 0, 94, 0, 9, 0}, {-55, 0, 96, 0, 9, 0}, {-56, 0, 97, 0, 9, 0}, {-56, 0, 98, 0, 9, 0}, {-56, 0, 99, 0, 9, 0}, + {-57, 0, 100, 0, 9, 0}, {-57, -1, 101, 0, 9, 0}, {-57, -1, 102, 0, 9, 0}, {-58, -1, 104, 0, 9, 0}, {-58, -1, 105, 0, 9, 0}, + {-58, -1, 106, 0, 9, 0}, {-58, -1, 107, 0, 9, 0}, {-59, -1, 108, 0, 9, 0}, {-59, -1, 109, 0, 9, 0}, {-59, -2, 111, 0, 9, 0}, + {-59, -2, 112, 0, 9, 0}, {-60, -2, 113, 0, 9, 0}, {-60, -2, 114, 0, 9, 0}, {-60, -2, 115, 0, 9, 0}, {-60, -2, 117, 0, 9, 0}, + {-60, -2, 118, 0, 9, 0}, {-60, -3, 119, 0, 10, 0}, {-60, -3, 120, 0, 10, 0}, {-61, -3, 121, 0, 10, 0}, {-61, -3, 123, 0, 10, 0}, + {-61, -3, 124, 0, 10, 0}, {-61, -3, 125, 0, 10, 0}, {-61, -3, 126, 0, 10, 0}, {-61, -3, 127, 0, 10, 0}, {-61, -4, 129, 0, 10, 0}, + {-61, -4, 130, 0, 10, 0}, {-61, -4, 131, 0, 10, 0}, {-61, -4, 132, 0, 10, 0}, {-61, -4, 134, 0, 10, 0}, {-60, -4, 135, 0, 10, 0}, + {-60, -4, 136, 0, 10, 0}, {-60, -4, 137, 0, 11, 0}, {-60, -5, 138, 0, 11, 0}, {-60, -5, 140, 0, 11, 0}, {-60, -5, 141, 0, 11, 0}, + {-60, -5, 142, 0, 11, 0}, {-59, -5, 143, 0, 11, 0}, {-59, -5, 144, 0, 11, 0}, {-59, -5, 145, 0, 11, 0}, {-59, -6, 147, 0, 11, 0}, + {-58, -6, 148, 0, 11, 0}, {-58, -6, 149, 0, 11, 0}, {-58, -6, 150, 0, 11, 0}, {-58, -6, 151, 0, 11, 0}, {-57, -6, 152, 0, 11, 0}, + {-57, -6, 154, 0, 11, 0}, {-56, -6, 155, 0, 11, 0}, {-56, -7, 156, 0, 12, 0}, {-56, -7, 157, 0, 12, 0}, {-55, -7, 158, 0, 12, 0}, + {-55, -7, 159, 0, 12, 0}, {-54, -7, 160, 0, 12, 0}, {-54, -7, 161, 0, 12, 0}, {-54, -7, 162, 0, 12, 0}, {-53, -8, 163, 0, 12, 0}, + {-53, -8, 165, 0, 12, 0}, {-52, -8, 166, 0, 12, 0}, {-52, -8, 167, 0, 12, 0}, {-51, -8, 168, 0, 12, 0}, {-50, -8, 169, 0, 12, 0}, + {-50, -8, 170, 0, 12, 0}, {-49, -8, 171, 0, 12, 0}, {-49, -9, 172, 0, 12, 0}, {-48, -9, 173, 0, 13, 0}, {-48, -9, 174, 0, 13, 0}, + {-47, -9, 174, 0, 13, 0}, {-46, -9, 175, 0, 13, 0}, {-46, -9, 176, 0, 13, 0}, {-45, -9, 177, 0, 13, 0}, {-44, -9, 178, 0, 13, 0}, + {-44, -10, 179, 0, 13, 0}, {-43, -10, 180, 0, 13, 0}, {-42, -10, 181, 0, 13, 0}, {-41, -10, 182, 0, 13, 0}, {-41, -10, 182, 0, 13, 0}, + {-40, -10, 183, 0, 13, 0}, {-39, -10, 184, 0, 13, 0}, {-39, -11, 185, 0, 13, 0}, {-38, -11, 186, 0, 13, 0}, {-37, -11, 186, 0, 13, 0}, + {-36, -11, 187, 0, 14, 0}, {-35, -11, 188, 0, 14, 0}, {-35, -11, 188, 0, 14, 0}, {-34, -11, 189, 0, 14, 0}, {-33, -11, 190, 0, 14, 0}, + {-32, -12, 190, 0, 14, 0}, {-31, -12, 191, 0, 14, 0}, {-30, -12, 192, 0, 14, 0}, {-30, -12, 192, 0, 14, 0}, {-29, -12, 193, 0, 14, 0}, + {-28, -12, 193, 0, 14, 0}, {-27, -12, 194, 0, 14, 0}, {-26, -12, 195, 0, 14, 0}, {-25, -13, 195, 0, 14, 0}, {-24, -13, 196, 0, 14, 0}, + {-23, -13, 196, 0, 14, 0}, {-22, -13, 196, 0, 15, 0}, {-21, -13, 197, 0, 15, 0}, {-21, -13, 197, 0, 15, 0}, {-20, -13, 198, 0, 15, 0}, + {-19, -14, 198, 0, 15, 0}, {-18, -14, 198, 0, 15, 0}, {-17, -14, 199, 0, 15, 0}, {-16, -14, 199, 0, 15, 0}, {-15, -14, 199, 0, 15, 0}, + {-14, -14, 200, 0, 15, 0}, {-13, -14, 200, 0, 15, 0}, {-12, -14, 200, 0, 15, 0}, {-11, -15, 200, 0, 15, 0}, {-10, -15, 201, 0, 15, 0}, + {-9, -15, 201, 0, 15, 0}, {-8, -15, 201, 0, 15, 0}, {-7, -15, 201, 0, 16, 0}, {-6, -15, 201, 0, 16, 0}, {-5, -15, 201, 0, 16, 0}, + {-4, -15, 202, 0, 16, 0}, {-3, -16, 202, 0, 16, 0}, {-2, -16, 202, 0, 16, 0}, {-1, -16, 202, 0, 16, 0}, {0, -16, 202, 0, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopUp1, { - { 16, 0, -1, 8, 2, 0}, { 16, 1, -1, 8, 2, 0}, { 16, 2, 0, 8, 2, 0}, { 16, 3, 0, 8, 2, 0}, { 15, 4, 1, 8, 2, 0}, - { 15, 5, 1, 8, 2, 0}, { 15, 6, 2, 8, 2, 0}, { 15, 6, 2, 8, 2, 0}, { 15, 7, 3, 8, 2, 0}, { 15, 8, 3, 8, 2, 0}, - { 15, 9, 4, 8, 2, 0}, { 15, 10, 4, 8, 2, 0}, { 14, 11, 5, 8, 2, 0}, { 14, 12, 5, 8, 2, 0}, { 14, 13, 6, 8, 2, 0}, - { 14, 14, 6, 8, 2, 0}, { 14, 14, 7, 8, 2, 0}, { 14, 15, 7, 8, 2, 0}, { 14, 16, 8, 8, 2, 0}, { 14, 17, 9, 8, 2, 0}, - { 13, 18, 9, 8, 2, 0}, { 13, 19, 10, 8, 2, 0}, { 13, 20, 10, 8, 2, 0}, { 13, 21, 11, 8, 2, 0}, { 13, 21, 11, 8, 2, 0}, - { 13, 22, 12, 8, 2, 0}, { 13, 23, 13, 8, 2, 0}, { 12, 24, 13, 8, 2, 0}, { 12, 25, 14, 8, 2, 0}, { 12, 26, 14, 8, 2, 0}, - { 12, 27, 15, 8, 2, 0}, { 12, 28, 16, 8, 2, 0}, { 12, 28, 16, 8, 2, 0}, { 12, 29, 17, 8, 2, 0}, { 12, 30, 17, 8, 3, 0}, - { 11, 31, 18, 8, 3, 0}, { 11, 32, 19, 8, 3, 0}, { 11, 33, 19, 8, 3, 0}, { 11, 33, 20, 8, 3, 0}, { 11, 34, 21, 8, 3, 0}, - { 11, 35, 21, 8, 3, 0}, { 11, 36, 22, 8, 3, 0}, { 11, 37, 23, 8, 3, 0}, { 10, 38, 23, 8, 3, 0}, { 10, 38, 24, 8, 3, 0}, - { 10, 39, 25, 8, 3, 0}, { 10, 40, 25, 8, 3, 0}, { 10, 41, 26, 8, 3, 0}, { 10, 42, 27, 8, 3, 0}, { 10, 43, 28, 8, 3, 0}, - { 9, 43, 28, 8, 3, 0}, { 9, 44, 29, 8, 3, 0}, { 9, 45, 30, 8, 3, 0}, { 9, 46, 30, 8, 3, 0}, { 9, 46, 31, 8, 3, 0}, - { 9, 47, 32, 8, 3, 0}, { 9, 48, 33, 8, 3, 0}, { 9, 49, 33, 8, 3, 0}, { 8, 50, 34, 8, 3, 0}, { 8, 50, 35, 8, 3, 0}, - { 8, 51, 36, 8, 3, 0}, { 8, 52, 37, 8, 3, 0}, { 8, 53, 37, 8, 3, 0}, { 8, 53, 38, 8, 3, 0}, { 8, 54, 39, 8, 3, 0}, - { 8, 55, 40, 8, 3, 0}, { 7, 56, 41, 8, 3, 0}, { 7, 56, 41, 8, 3, 0}, { 7, 57, 42, 8, 3, 0}, { 7, 58, 43, 8, 3, 0}, - { 7, 58, 44, 8, 3, 0}, { 7, 59, 45, 8, 3, 0}, { 7, 60, 46, 8, 3, 0}, { 6, 61, 46, 8, 3, 0}, { 6, 61, 47, 8, 3, 0}, - { 6, 62, 48, 8, 3, 0}, { 6, 63, 49, 8, 3, 0}, { 6, 63, 50, 8, 3, 0}, { 6, 64, 51, 8, 3, 0}, { 6, 65, 52, 8, 3, 0}, - { 6, 65, 53, 8, 3, 0}, { 5, 66, 53, 8, 3, 0}, { 5, 67, 54, 8, 3, 0}, { 5, 67, 55, 8, 3, 0}, { 5, 68, 56, 8, 4, 0}, - { 5, 69, 57, 8, 4, 0}, { 5, 69, 58, 8, 4, 0}, { 5, 70, 59, 8, 4, 0}, { 5, 70, 60, 8, 4, 0}, { 4, 71, 61, 8, 4, 0}, - { 4, 72, 62, 8, 4, 0}, { 4, 72, 63, 8, 4, 0}, { 4, 73, 64, 8, 4, 0}, { 4, 74, 65, 8, 4, 0}, { 4, 74, 66, 8, 4, 0}, - { 4, 75, 67, 8, 4, 0}, { 3, 75, 68, 8, 4, 0}, { 3, 76, 69, 8, 4, 0}, { 3, 76, 70, 8, 4, 0}, { 3, 77, 71, 8, 4, 0}, - { 3, 77, 72, 8, 4, 0}, { 3, 78, 73, 8, 4, 0}, { 3, 79, 74, 8, 4, 0}, { 3, 79, 75, 8, 4, 0}, { 2, 80, 76, 8, 4, 0}, - { 2, 80, 77, 8, 4, 0}, { 2, 81, 78, 8, 4, 0}, { 2, 81, 79, 8, 4, 0}, { 2, 82, 80, 8, 4, 0}, { 2, 82, 81, 8, 4, 0}, - { 2, 82, 82, 8, 4, 0}, { 2, 83, 83, 8, 4, 0}, { 1, 83, 84, 8, 4, 0}, { 1, 84, 86, 8, 4, 0}, { 1, 84, 87, 8, 4, 0}, - { 1, 85, 88, 8, 4, 0}, { 1, 85, 89, 8, 4, 0}, { 1, 85, 90, 8, 4, 0}, { 1, 86, 91, 8, 9, 0}, { 0, 86, 92, 8, 9, 0}, - { 0, 87, 93, 8, 9, 0}, { 0, 87, 94, 8, 9, 0}, { 0, 87, 96, 8, 9, 0}, { 0, 88, 97, 8, 9, 0}, { 0, 88, 98, 8, 9, 0}, - { 0, 88, 99, 8, 9, 0}, { 0, 89, 100, 8, 9, 0}, { -1, 89, 101, 8, 9, 0}, { -1, 89, 102, 8, 9, 0}, { -1, 90, 104, 8, 9, 0}, - { -1, 90, 105, 8, 9, 0}, { -1, 90, 106, 8, 9, 0}, { -1, 90, 107, 8, 9, 0}, { -1, 91, 108, 8, 9, 0}, { -1, 91, 109, 8, 9, 0}, - { -2, 91, 111, 8, 9, 0}, { -2, 91, 112, 8, 9, 0}, { -2, 92, 113, 8, 9, 0}, { -2, 92, 114, 8, 9, 0}, { -2, 92, 115, 8, 9, 0}, - { -2, 92, 117, 8, 9, 0}, { -2, 92, 118, 8, 9, 0}, { -3, 92, 119, 8, 10, 0}, { -3, 92, 120, 8, 10, 0}, { -3, 93, 121, 8, 10, 0}, - { -3, 93, 123, 8, 10, 0}, { -3, 93, 124, 8, 10, 0}, { -3, 93, 125, 8, 10, 0}, { -3, 93, 126, 8, 10, 0}, { -3, 93, 127, 8, 10, 0}, - { -4, 93, 129, 8, 10, 0}, { -4, 93, 130, 8, 10, 0}, { -4, 93, 131, 8, 10, 0}, { -4, 93, 132, 8, 10, 0}, { -4, 93, 134, 8, 10, 0}, - { -4, 92, 135, 8, 10, 0}, { -4, 92, 136, 8, 10, 0}, { -4, 92, 137, 8, 11, 0}, { -5, 92, 138, 8, 11, 0}, { -5, 92, 140, 8, 11, 0}, - { -5, 92, 141, 8, 11, 0}, { -5, 92, 142, 8, 11, 0}, { -5, 91, 143, 8, 11, 0}, { -5, 91, 144, 8, 11, 0}, { -5, 91, 145, 8, 11, 0}, - { -6, 91, 147, 8, 11, 0}, { -6, 90, 148, 8, 11, 0}, { -6, 90, 149, 8, 11, 0}, { -6, 90, 150, 8, 11, 0}, { -6, 90, 151, 8, 11, 0}, - { -6, 89, 152, 8, 11, 0}, { -6, 89, 154, 8, 11, 0}, { -6, 88, 155, 8, 11, 0}, { -7, 88, 156, 8, 12, 0}, { -7, 88, 157, 8, 12, 0}, - { -7, 87, 158, 8, 12, 0}, { -7, 87, 159, 8, 12, 0}, { -7, 86, 160, 8, 12, 0}, { -7, 86, 161, 8, 12, 0}, { -7, 86, 162, 8, 12, 0}, - { -8, 85, 163, 8, 12, 0}, { -8, 85, 165, 8, 12, 0}, { -8, 84, 166, 8, 12, 0}, { -8, 84, 167, 8, 12, 0}, { -8, 83, 168, 8, 12, 0}, - { -8, 82, 169, 8, 12, 0}, { -8, 82, 170, 8, 12, 0}, { -8, 81, 171, 8, 12, 0}, { -9, 81, 172, 8, 12, 0}, { -9, 80, 173, 8, 13, 0}, - { -9, 80, 174, 8, 13, 0}, { -9, 79, 174, 8, 13, 0}, { -9, 78, 175, 8, 13, 0}, { -9, 78, 176, 8, 13, 0}, { -9, 77, 177, 8, 13, 0}, - { -9, 76, 178, 8, 13, 0}, { -10, 76, 179, 8, 13, 0}, { -10, 75, 180, 8, 13, 0}, { -10, 74, 181, 8, 13, 0}, { -10, 73, 182, 8, 13, 0}, - { -10, 73, 182, 8, 13, 0}, { -10, 72, 183, 8, 13, 0}, { -10, 71, 184, 8, 13, 0}, { -11, 71, 185, 8, 13, 0}, { -11, 70, 186, 8, 13, 0}, - { -11, 69, 186, 8, 13, 0}, { -11, 68, 187, 8, 14, 0}, { -11, 67, 188, 8, 14, 0}, { -11, 67, 188, 8, 14, 0}, { -11, 66, 189, 8, 14, 0}, - { -11, 65, 190, 8, 14, 0}, { -12, 64, 190, 8, 14, 0}, { -12, 63, 191, 8, 14, 0}, { -12, 62, 192, 8, 14, 0}, { -12, 62, 192, 8, 14, 0}, - { -12, 61, 193, 8, 14, 0}, { -12, 60, 193, 8, 14, 0}, { -12, 59, 194, 8, 14, 0}, { -12, 58, 195, 8, 14, 0}, { -13, 57, 195, 8, 14, 0}, - { -13, 56, 196, 8, 14, 0}, { -13, 55, 196, 8, 14, 0}, { -13, 54, 196, 8, 15, 0}, { -13, 53, 197, 8, 15, 0}, { -13, 53, 197, 8, 15, 0}, - { -13, 52, 198, 8, 15, 0}, { -14, 51, 198, 8, 15, 0}, { -14, 50, 198, 8, 15, 0}, { -14, 49, 199, 8, 15, 0}, { -14, 48, 199, 8, 15, 0}, - { -14, 47, 199, 8, 15, 0}, { -14, 46, 200, 8, 15, 0}, { -14, 45, 200, 8, 15, 0}, { -14, 44, 200, 8, 15, 0}, { -15, 43, 200, 8, 15, 0}, - { -15, 42, 201, 8, 15, 0}, { -15, 41, 201, 8, 15, 0}, { -15, 40, 201, 8, 15, 0}, { -15, 39, 201, 8, 16, 0}, { -15, 38, 201, 8, 16, 0}, - { -15, 37, 201, 8, 16, 0}, { -15, 36, 202, 8, 16, 0}, { -16, 35, 202, 8, 16, 0}, { -16, 34, 202, 8, 16, 0}, { -16, 33, 202, 8, 16, 0}, + {16, 0, -1, 8, 2, 0}, {16, 1, -1, 8, 2, 0}, {16, 2, 0, 8, 2, 0}, {16, 3, 0, 8, 2, 0}, {15, 4, 1, 8, 2, 0}, + {15, 5, 1, 8, 2, 0}, {15, 6, 2, 8, 2, 0}, {15, 6, 2, 8, 2, 0}, {15, 7, 3, 8, 2, 0}, {15, 8, 3, 8, 2, 0}, + {15, 9, 4, 8, 2, 0}, {15, 10, 4, 8, 2, 0}, {14, 11, 5, 8, 2, 0}, {14, 12, 5, 8, 2, 0}, {14, 13, 6, 8, 2, 0}, + {14, 14, 6, 8, 2, 0}, {14, 14, 7, 8, 2, 0}, {14, 15, 7, 8, 2, 0}, {14, 16, 8, 8, 2, 0}, {14, 17, 9, 8, 2, 0}, + {13, 18, 9, 8, 2, 0}, {13, 19, 10, 8, 2, 0}, {13, 20, 10, 8, 2, 0}, {13, 21, 11, 8, 2, 0}, {13, 21, 11, 8, 2, 0}, + {13, 22, 12, 8, 2, 0}, {13, 23, 13, 8, 2, 0}, {12, 24, 13, 8, 2, 0}, {12, 25, 14, 8, 2, 0}, {12, 26, 14, 8, 2, 0}, + {12, 27, 15, 8, 2, 0}, {12, 28, 16, 8, 2, 0}, {12, 28, 16, 8, 2, 0}, {12, 29, 17, 8, 2, 0}, {12, 30, 17, 8, 3, 0}, + {11, 31, 18, 8, 3, 0}, {11, 32, 19, 8, 3, 0}, {11, 33, 19, 8, 3, 0}, {11, 33, 20, 8, 3, 0}, {11, 34, 21, 8, 3, 0}, + {11, 35, 21, 8, 3, 0}, {11, 36, 22, 8, 3, 0}, {11, 37, 23, 8, 3, 0}, {10, 38, 23, 8, 3, 0}, {10, 38, 24, 8, 3, 0}, + {10, 39, 25, 8, 3, 0}, {10, 40, 25, 8, 3, 0}, {10, 41, 26, 8, 3, 0}, {10, 42, 27, 8, 3, 0}, {10, 43, 28, 8, 3, 0}, + {9, 43, 28, 8, 3, 0}, {9, 44, 29, 8, 3, 0}, {9, 45, 30, 8, 3, 0}, {9, 46, 30, 8, 3, 0}, {9, 46, 31, 8, 3, 0}, + {9, 47, 32, 8, 3, 0}, {9, 48, 33, 8, 3, 0}, {9, 49, 33, 8, 3, 0}, {8, 50, 34, 8, 3, 0}, {8, 50, 35, 8, 3, 0}, + {8, 51, 36, 8, 3, 0}, {8, 52, 37, 8, 3, 0}, {8, 53, 37, 8, 3, 0}, {8, 53, 38, 8, 3, 0}, {8, 54, 39, 8, 3, 0}, + {8, 55, 40, 8, 3, 0}, {7, 56, 41, 8, 3, 0}, {7, 56, 41, 8, 3, 0}, {7, 57, 42, 8, 3, 0}, {7, 58, 43, 8, 3, 0}, + {7, 58, 44, 8, 3, 0}, {7, 59, 45, 8, 3, 0}, {7, 60, 46, 8, 3, 0}, {6, 61, 46, 8, 3, 0}, {6, 61, 47, 8, 3, 0}, + {6, 62, 48, 8, 3, 0}, {6, 63, 49, 8, 3, 0}, {6, 63, 50, 8, 3, 0}, {6, 64, 51, 8, 3, 0}, {6, 65, 52, 8, 3, 0}, + {6, 65, 53, 8, 3, 0}, {5, 66, 53, 8, 3, 0}, {5, 67, 54, 8, 3, 0}, {5, 67, 55, 8, 3, 0}, {5, 68, 56, 8, 4, 0}, + {5, 69, 57, 8, 4, 0}, {5, 69, 58, 8, 4, 0}, {5, 70, 59, 8, 4, 0}, {5, 70, 60, 8, 4, 0}, {4, 71, 61, 8, 4, 0}, + {4, 72, 62, 8, 4, 0}, {4, 72, 63, 8, 4, 0}, {4, 73, 64, 8, 4, 0}, {4, 74, 65, 8, 4, 0}, {4, 74, 66, 8, 4, 0}, + {4, 75, 67, 8, 4, 0}, {3, 75, 68, 8, 4, 0}, {3, 76, 69, 8, 4, 0}, {3, 76, 70, 8, 4, 0}, {3, 77, 71, 8, 4, 0}, + {3, 77, 72, 8, 4, 0}, {3, 78, 73, 8, 4, 0}, {3, 79, 74, 8, 4, 0}, {3, 79, 75, 8, 4, 0}, {2, 80, 76, 8, 4, 0}, + {2, 80, 77, 8, 4, 0}, {2, 81, 78, 8, 4, 0}, {2, 81, 79, 8, 4, 0}, {2, 82, 80, 8, 4, 0}, {2, 82, 81, 8, 4, 0}, + {2, 82, 82, 8, 4, 0}, {2, 83, 83, 8, 4, 0}, {1, 83, 84, 8, 4, 0}, {1, 84, 86, 8, 4, 0}, {1, 84, 87, 8, 4, 0}, + {1, 85, 88, 8, 4, 0}, {1, 85, 89, 8, 4, 0}, {1, 85, 90, 8, 4, 0}, {1, 86, 91, 8, 9, 0}, {0, 86, 92, 8, 9, 0}, + {0, 87, 93, 8, 9, 0}, {0, 87, 94, 8, 9, 0}, {0, 87, 96, 8, 9, 0}, {0, 88, 97, 8, 9, 0}, {0, 88, 98, 8, 9, 0}, + {0, 88, 99, 8, 9, 0}, {0, 89, 100, 8, 9, 0}, {-1, 89, 101, 8, 9, 0}, {-1, 89, 102, 8, 9, 0}, {-1, 90, 104, 8, 9, 0}, + {-1, 90, 105, 8, 9, 0}, {-1, 90, 106, 8, 9, 0}, {-1, 90, 107, 8, 9, 0}, {-1, 91, 108, 8, 9, 0}, {-1, 91, 109, 8, 9, 0}, + {-2, 91, 111, 8, 9, 0}, {-2, 91, 112, 8, 9, 0}, {-2, 92, 113, 8, 9, 0}, {-2, 92, 114, 8, 9, 0}, {-2, 92, 115, 8, 9, 0}, + {-2, 92, 117, 8, 9, 0}, {-2, 92, 118, 8, 9, 0}, {-3, 92, 119, 8, 10, 0}, {-3, 92, 120, 8, 10, 0}, {-3, 93, 121, 8, 10, 0}, + {-3, 93, 123, 8, 10, 0}, {-3, 93, 124, 8, 10, 0}, {-3, 93, 125, 8, 10, 0}, {-3, 93, 126, 8, 10, 0}, {-3, 93, 127, 8, 10, 0}, + {-4, 93, 129, 8, 10, 0}, {-4, 93, 130, 8, 10, 0}, {-4, 93, 131, 8, 10, 0}, {-4, 93, 132, 8, 10, 0}, {-4, 93, 134, 8, 10, 0}, + {-4, 92, 135, 8, 10, 0}, {-4, 92, 136, 8, 10, 0}, {-4, 92, 137, 8, 11, 0}, {-5, 92, 138, 8, 11, 0}, {-5, 92, 140, 8, 11, 0}, + {-5, 92, 141, 8, 11, 0}, {-5, 92, 142, 8, 11, 0}, {-5, 91, 143, 8, 11, 0}, {-5, 91, 144, 8, 11, 0}, {-5, 91, 145, 8, 11, 0}, + {-6, 91, 147, 8, 11, 0}, {-6, 90, 148, 8, 11, 0}, {-6, 90, 149, 8, 11, 0}, {-6, 90, 150, 8, 11, 0}, {-6, 90, 151, 8, 11, 0}, + {-6, 89, 152, 8, 11, 0}, {-6, 89, 154, 8, 11, 0}, {-6, 88, 155, 8, 11, 0}, {-7, 88, 156, 8, 12, 0}, {-7, 88, 157, 8, 12, 0}, + {-7, 87, 158, 8, 12, 0}, {-7, 87, 159, 8, 12, 0}, {-7, 86, 160, 8, 12, 0}, {-7, 86, 161, 8, 12, 0}, {-7, 86, 162, 8, 12, 0}, + {-8, 85, 163, 8, 12, 0}, {-8, 85, 165, 8, 12, 0}, {-8, 84, 166, 8, 12, 0}, {-8, 84, 167, 8, 12, 0}, {-8, 83, 168, 8, 12, 0}, + {-8, 82, 169, 8, 12, 0}, {-8, 82, 170, 8, 12, 0}, {-8, 81, 171, 8, 12, 0}, {-9, 81, 172, 8, 12, 0}, {-9, 80, 173, 8, 13, 0}, + {-9, 80, 174, 8, 13, 0}, {-9, 79, 174, 8, 13, 0}, {-9, 78, 175, 8, 13, 0}, {-9, 78, 176, 8, 13, 0}, {-9, 77, 177, 8, 13, 0}, + {-9, 76, 178, 8, 13, 0}, {-10, 76, 179, 8, 13, 0}, {-10, 75, 180, 8, 13, 0}, {-10, 74, 181, 8, 13, 0}, {-10, 73, 182, 8, 13, 0}, + {-10, 73, 182, 8, 13, 0}, {-10, 72, 183, 8, 13, 0}, {-10, 71, 184, 8, 13, 0}, {-11, 71, 185, 8, 13, 0}, {-11, 70, 186, 8, 13, 0}, + {-11, 69, 186, 8, 13, 0}, {-11, 68, 187, 8, 14, 0}, {-11, 67, 188, 8, 14, 0}, {-11, 67, 188, 8, 14, 0}, {-11, 66, 189, 8, 14, 0}, + {-11, 65, 190, 8, 14, 0}, {-12, 64, 190, 8, 14, 0}, {-12, 63, 191, 8, 14, 0}, {-12, 62, 192, 8, 14, 0}, {-12, 62, 192, 8, 14, 0}, + {-12, 61, 193, 8, 14, 0}, {-12, 60, 193, 8, 14, 0}, {-12, 59, 194, 8, 14, 0}, {-12, 58, 195, 8, 14, 0}, {-13, 57, 195, 8, 14, 0}, + {-13, 56, 196, 8, 14, 0}, {-13, 55, 196, 8, 14, 0}, {-13, 54, 196, 8, 15, 0}, {-13, 53, 197, 8, 15, 0}, {-13, 53, 197, 8, 15, 0}, + {-13, 52, 198, 8, 15, 0}, {-14, 51, 198, 8, 15, 0}, {-14, 50, 198, 8, 15, 0}, {-14, 49, 199, 8, 15, 0}, {-14, 48, 199, 8, 15, 0}, + {-14, 47, 199, 8, 15, 0}, {-14, 46, 200, 8, 15, 0}, {-14, 45, 200, 8, 15, 0}, {-14, 44, 200, 8, 15, 0}, {-15, 43, 200, 8, 15, 0}, + {-15, 42, 201, 8, 15, 0}, {-15, 41, 201, 8, 15, 0}, {-15, 40, 201, 8, 15, 0}, {-15, 39, 201, 8, 16, 0}, {-15, 38, 201, 8, 16, 0}, + {-15, 37, 201, 8, 16, 0}, {-15, 36, 202, 8, 16, 0}, {-16, 35, 202, 8, 16, 0}, {-16, 34, 202, 8, 16, 0}, {-16, 33, 202, 8, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopUp2, { - { 0, 16, -1, 16, 2, 0}, { 1, 16, -1, 16, 2, 0}, { 2, 16, 0, 16, 2, 0}, { 3, 16, 0, 16, 2, 0}, { 4, 17, 1, 16, 2, 0}, - { 5, 17, 1, 16, 2, 0}, { 6, 17, 2, 16, 2, 0}, { 6, 17, 2, 16, 2, 0}, { 7, 17, 3, 16, 2, 0}, { 8, 17, 3, 16, 2, 0}, - { 9, 17, 4, 16, 2, 0}, { 10, 17, 4, 16, 2, 0}, { 11, 18, 5, 16, 2, 0}, { 12, 18, 5, 16, 2, 0}, { 13, 18, 6, 16, 2, 0}, - { 14, 18, 6, 16, 2, 0}, { 14, 18, 7, 16, 2, 0}, { 15, 18, 7, 16, 2, 0}, { 16, 18, 8, 16, 2, 0}, { 17, 18, 9, 16, 2, 0}, - { 18, 19, 9, 16, 2, 0}, { 19, 19, 10, 16, 2, 0}, { 20, 19, 10, 16, 2, 0}, { 21, 19, 11, 16, 2, 0}, { 21, 19, 11, 16, 2, 0}, - { 22, 19, 12, 16, 2, 0}, { 23, 19, 13, 16, 2, 0}, { 24, 20, 13, 16, 2, 0}, { 25, 20, 14, 16, 2, 0}, { 26, 20, 14, 16, 2, 0}, - { 27, 20, 15, 16, 2, 0}, { 28, 20, 16, 16, 2, 0}, { 28, 20, 16, 16, 2, 0}, { 29, 20, 17, 16, 2, 0}, { 30, 20, 17, 16, 3, 0}, - { 31, 21, 18, 16, 3, 0}, { 32, 21, 19, 16, 3, 0}, { 33, 21, 19, 16, 3, 0}, { 33, 21, 20, 16, 3, 0}, { 34, 21, 21, 16, 3, 0}, - { 35, 21, 21, 16, 3, 0}, { 36, 21, 22, 16, 3, 0}, { 37, 21, 23, 16, 3, 0}, { 38, 22, 23, 16, 3, 0}, { 38, 22, 24, 16, 3, 0}, - { 39, 22, 25, 16, 3, 0}, { 40, 22, 25, 16, 3, 0}, { 41, 22, 26, 16, 3, 0}, { 42, 22, 27, 16, 3, 0}, { 43, 22, 28, 16, 3, 0}, - { 43, 23, 28, 16, 3, 0}, { 44, 23, 29, 16, 3, 0}, { 45, 23, 30, 16, 3, 0}, { 46, 23, 30, 16, 3, 0}, { 46, 23, 31, 16, 3, 0}, - { 47, 23, 32, 16, 3, 0}, { 48, 23, 33, 16, 3, 0}, { 49, 23, 33, 16, 3, 0}, { 50, 24, 34, 16, 3, 0}, { 50, 24, 35, 16, 3, 0}, - { 51, 24, 36, 16, 3, 0}, { 52, 24, 37, 16, 3, 0}, { 53, 24, 37, 16, 3, 0}, { 53, 24, 38, 16, 3, 0}, { 54, 24, 39, 16, 3, 0}, - { 55, 24, 40, 16, 3, 0}, { 56, 25, 41, 16, 3, 0}, { 56, 25, 41, 16, 3, 0}, { 57, 25, 42, 16, 3, 0}, { 58, 25, 43, 16, 3, 0}, - { 58, 25, 44, 16, 3, 0}, { 59, 25, 45, 16, 3, 0}, { 60, 25, 46, 16, 3, 0}, { 61, 26, 46, 16, 3, 0}, { 61, 26, 47, 16, 3, 0}, - { 62, 26, 48, 16, 3, 0}, { 63, 26, 49, 16, 3, 0}, { 63, 26, 50, 16, 3, 0}, { 64, 26, 51, 16, 3, 0}, { 65, 26, 52, 16, 3, 0}, - { 65, 26, 53, 16, 3, 0}, { 66, 27, 53, 16, 3, 0}, { 67, 27, 54, 16, 3, 0}, { 67, 27, 55, 16, 3, 0}, { 68, 27, 56, 16, 4, 0}, - { 69, 27, 57, 16, 4, 0}, { 69, 27, 58, 16, 4, 0}, { 70, 27, 59, 16, 4, 0}, { 70, 27, 60, 16, 4, 0}, { 71, 28, 61, 16, 4, 0}, - { 72, 28, 62, 16, 4, 0}, { 72, 28, 63, 16, 4, 0}, { 73, 28, 64, 16, 4, 0}, { 74, 28, 65, 16, 4, 0}, { 74, 28, 66, 16, 4, 0}, - { 75, 28, 67, 16, 4, 0}, { 75, 29, 68, 16, 4, 0}, { 76, 29, 69, 16, 4, 0}, { 76, 29, 70, 16, 4, 0}, { 77, 29, 71, 16, 4, 0}, - { 77, 29, 72, 16, 4, 0}, { 78, 29, 73, 16, 4, 0}, { 79, 29, 74, 16, 4, 0}, { 79, 29, 75, 16, 4, 0}, { 80, 30, 76, 16, 4, 0}, - { 80, 30, 77, 16, 4, 0}, { 81, 30, 78, 16, 4, 0}, { 81, 30, 79, 16, 4, 0}, { 82, 30, 80, 16, 4, 0}, { 82, 30, 81, 16, 4, 0}, - { 82, 30, 82, 16, 4, 0}, { 83, 30, 83, 16, 4, 0}, { 83, 31, 84, 16, 4, 0}, { 84, 31, 86, 16, 4, 0}, { 84, 31, 87, 16, 4, 0}, - { 85, 31, 88, 16, 4, 0}, { 85, 31, 89, 16, 4, 0}, { 85, 31, 90, 16, 4, 0}, { 86, 31, 91, 16, 9, 0}, { 86, 32, 92, 16, 9, 0}, - { 87, 32, 93, 16, 9, 0}, { 87, 32, 94, 16, 9, 0}, { 87, 32, 96, 16, 9, 0}, { 88, 32, 97, 16, 9, 0}, { 88, 32, 98, 16, 9, 0}, - { 88, 32, 99, 16, 9, 0}, { 89, 32, 100, 16, 9, 0}, { 89, 33, 101, 16, 9, 0}, { 89, 33, 102, 16, 9, 0}, { 90, 33, 104, 16, 9, 0}, - { 90, 33, 105, 16, 9, 0}, { 90, 33, 106, 16, 9, 0}, { 90, 33, 107, 16, 9, 0}, { 91, 33, 108, 16, 9, 0}, { 91, 33, 109, 16, 9, 0}, - { 91, 34, 111, 16, 9, 0}, { 91, 34, 112, 16, 9, 0}, { 92, 34, 113, 16, 9, 0}, { 92, 34, 114, 16, 9, 0}, { 92, 34, 115, 16, 9, 0}, - { 92, 34, 117, 16, 9, 0}, { 92, 34, 118, 16, 9, 0}, { 92, 35, 119, 16, 10, 0}, { 92, 35, 120, 16, 10, 0}, { 93, 35, 121, 16, 10, 0}, - { 93, 35, 123, 16, 10, 0}, { 93, 35, 124, 16, 10, 0}, { 93, 35, 125, 16, 10, 0}, { 93, 35, 126, 16, 10, 0}, { 93, 35, 127, 16, 10, 0}, - { 93, 36, 129, 16, 10, 0}, { 93, 36, 130, 16, 10, 0}, { 93, 36, 131, 16, 10, 0}, { 93, 36, 132, 16, 10, 0}, { 93, 36, 134, 16, 10, 0}, - { 92, 36, 135, 16, 10, 0}, { 92, 36, 136, 16, 10, 0}, { 92, 36, 137, 16, 11, 0}, { 92, 37, 138, 16, 11, 0}, { 92, 37, 140, 16, 11, 0}, - { 92, 37, 141, 16, 11, 0}, { 92, 37, 142, 16, 11, 0}, { 91, 37, 143, 16, 11, 0}, { 91, 37, 144, 16, 11, 0}, { 91, 37, 145, 16, 11, 0}, - { 91, 38, 147, 16, 11, 0}, { 90, 38, 148, 16, 11, 0}, { 90, 38, 149, 16, 11, 0}, { 90, 38, 150, 16, 11, 0}, { 90, 38, 151, 16, 11, 0}, - { 89, 38, 152, 16, 11, 0}, { 89, 38, 154, 16, 11, 0}, { 88, 38, 155, 16, 11, 0}, { 88, 39, 156, 16, 12, 0}, { 88, 39, 157, 16, 12, 0}, - { 87, 39, 158, 16, 12, 0}, { 87, 39, 159, 16, 12, 0}, { 86, 39, 160, 16, 12, 0}, { 86, 39, 161, 16, 12, 0}, { 86, 39, 162, 16, 12, 0}, - { 85, 40, 163, 16, 12, 0}, { 85, 40, 165, 16, 12, 0}, { 84, 40, 166, 16, 12, 0}, { 84, 40, 167, 16, 12, 0}, { 83, 40, 168, 16, 12, 0}, - { 82, 40, 169, 16, 12, 0}, { 82, 40, 170, 16, 12, 0}, { 81, 40, 171, 16, 12, 0}, { 81, 41, 172, 16, 12, 0}, { 80, 41, 173, 16, 13, 0}, - { 80, 41, 174, 16, 13, 0}, { 79, 41, 174, 16, 13, 0}, { 78, 41, 175, 16, 13, 0}, { 78, 41, 176, 16, 13, 0}, { 77, 41, 177, 16, 13, 0}, - { 76, 41, 178, 16, 13, 0}, { 76, 42, 179, 16, 13, 0}, { 75, 42, 180, 16, 13, 0}, { 74, 42, 181, 16, 13, 0}, { 73, 42, 182, 16, 13, 0}, - { 73, 42, 182, 16, 13, 0}, { 72, 42, 183, 16, 13, 0}, { 71, 42, 184, 16, 13, 0}, { 71, 43, 185, 16, 13, 0}, { 70, 43, 186, 16, 13, 0}, - { 69, 43, 186, 16, 13, 0}, { 68, 43, 187, 16, 14, 0}, { 67, 43, 188, 16, 14, 0}, { 67, 43, 188, 16, 14, 0}, { 66, 43, 189, 16, 14, 0}, - { 65, 43, 190, 16, 14, 0}, { 64, 44, 190, 16, 14, 0}, { 63, 44, 191, 16, 14, 0}, { 62, 44, 192, 16, 14, 0}, { 62, 44, 192, 16, 14, 0}, - { 61, 44, 193, 16, 14, 0}, { 60, 44, 193, 16, 14, 0}, { 59, 44, 194, 16, 14, 0}, { 58, 44, 195, 16, 14, 0}, { 57, 45, 195, 16, 14, 0}, - { 56, 45, 196, 16, 14, 0}, { 55, 45, 196, 16, 14, 0}, { 54, 45, 196, 16, 15, 0}, { 53, 45, 197, 16, 15, 0}, { 53, 45, 197, 16, 15, 0}, - { 52, 45, 198, 16, 15, 0}, { 51, 46, 198, 16, 15, 0}, { 50, 46, 198, 16, 15, 0}, { 49, 46, 199, 16, 15, 0}, { 48, 46, 199, 16, 15, 0}, - { 47, 46, 199, 16, 15, 0}, { 46, 46, 200, 16, 15, 0}, { 45, 46, 200, 16, 15, 0}, { 44, 46, 200, 16, 15, 0}, { 43, 47, 200, 16, 15, 0}, - { 42, 47, 201, 16, 15, 0}, { 41, 47, 201, 16, 15, 0}, { 40, 47, 201, 16, 15, 0}, { 39, 47, 201, 16, 16, 0}, { 38, 47, 201, 16, 16, 0}, - { 37, 47, 201, 16, 16, 0}, { 36, 47, 202, 16, 16, 0}, { 35, 48, 202, 16, 16, 0}, { 34, 48, 202, 16, 16, 0}, { 33, 48, 202, 16, 16, 0}, + {0, 16, -1, 16, 2, 0}, {1, 16, -1, 16, 2, 0}, {2, 16, 0, 16, 2, 0}, {3, 16, 0, 16, 2, 0}, {4, 17, 1, 16, 2, 0}, + {5, 17, 1, 16, 2, 0}, {6, 17, 2, 16, 2, 0}, {6, 17, 2, 16, 2, 0}, {7, 17, 3, 16, 2, 0}, {8, 17, 3, 16, 2, 0}, + {9, 17, 4, 16, 2, 0}, {10, 17, 4, 16, 2, 0}, {11, 18, 5, 16, 2, 0}, {12, 18, 5, 16, 2, 0}, {13, 18, 6, 16, 2, 0}, + {14, 18, 6, 16, 2, 0}, {14, 18, 7, 16, 2, 0}, {15, 18, 7, 16, 2, 0}, {16, 18, 8, 16, 2, 0}, {17, 18, 9, 16, 2, 0}, + {18, 19, 9, 16, 2, 0}, {19, 19, 10, 16, 2, 0}, {20, 19, 10, 16, 2, 0}, {21, 19, 11, 16, 2, 0}, {21, 19, 11, 16, 2, 0}, + {22, 19, 12, 16, 2, 0}, {23, 19, 13, 16, 2, 0}, {24, 20, 13, 16, 2, 0}, {25, 20, 14, 16, 2, 0}, {26, 20, 14, 16, 2, 0}, + {27, 20, 15, 16, 2, 0}, {28, 20, 16, 16, 2, 0}, {28, 20, 16, 16, 2, 0}, {29, 20, 17, 16, 2, 0}, {30, 20, 17, 16, 3, 0}, + {31, 21, 18, 16, 3, 0}, {32, 21, 19, 16, 3, 0}, {33, 21, 19, 16, 3, 0}, {33, 21, 20, 16, 3, 0}, {34, 21, 21, 16, 3, 0}, + {35, 21, 21, 16, 3, 0}, {36, 21, 22, 16, 3, 0}, {37, 21, 23, 16, 3, 0}, {38, 22, 23, 16, 3, 0}, {38, 22, 24, 16, 3, 0}, + {39, 22, 25, 16, 3, 0}, {40, 22, 25, 16, 3, 0}, {41, 22, 26, 16, 3, 0}, {42, 22, 27, 16, 3, 0}, {43, 22, 28, 16, 3, 0}, + {43, 23, 28, 16, 3, 0}, {44, 23, 29, 16, 3, 0}, {45, 23, 30, 16, 3, 0}, {46, 23, 30, 16, 3, 0}, {46, 23, 31, 16, 3, 0}, + {47, 23, 32, 16, 3, 0}, {48, 23, 33, 16, 3, 0}, {49, 23, 33, 16, 3, 0}, {50, 24, 34, 16, 3, 0}, {50, 24, 35, 16, 3, 0}, + {51, 24, 36, 16, 3, 0}, {52, 24, 37, 16, 3, 0}, {53, 24, 37, 16, 3, 0}, {53, 24, 38, 16, 3, 0}, {54, 24, 39, 16, 3, 0}, + {55, 24, 40, 16, 3, 0}, {56, 25, 41, 16, 3, 0}, {56, 25, 41, 16, 3, 0}, {57, 25, 42, 16, 3, 0}, {58, 25, 43, 16, 3, 0}, + {58, 25, 44, 16, 3, 0}, {59, 25, 45, 16, 3, 0}, {60, 25, 46, 16, 3, 0}, {61, 26, 46, 16, 3, 0}, {61, 26, 47, 16, 3, 0}, + {62, 26, 48, 16, 3, 0}, {63, 26, 49, 16, 3, 0}, {63, 26, 50, 16, 3, 0}, {64, 26, 51, 16, 3, 0}, {65, 26, 52, 16, 3, 0}, + {65, 26, 53, 16, 3, 0}, {66, 27, 53, 16, 3, 0}, {67, 27, 54, 16, 3, 0}, {67, 27, 55, 16, 3, 0}, {68, 27, 56, 16, 4, 0}, + {69, 27, 57, 16, 4, 0}, {69, 27, 58, 16, 4, 0}, {70, 27, 59, 16, 4, 0}, {70, 27, 60, 16, 4, 0}, {71, 28, 61, 16, 4, 0}, + {72, 28, 62, 16, 4, 0}, {72, 28, 63, 16, 4, 0}, {73, 28, 64, 16, 4, 0}, {74, 28, 65, 16, 4, 0}, {74, 28, 66, 16, 4, 0}, + {75, 28, 67, 16, 4, 0}, {75, 29, 68, 16, 4, 0}, {76, 29, 69, 16, 4, 0}, {76, 29, 70, 16, 4, 0}, {77, 29, 71, 16, 4, 0}, + {77, 29, 72, 16, 4, 0}, {78, 29, 73, 16, 4, 0}, {79, 29, 74, 16, 4, 0}, {79, 29, 75, 16, 4, 0}, {80, 30, 76, 16, 4, 0}, + {80, 30, 77, 16, 4, 0}, {81, 30, 78, 16, 4, 0}, {81, 30, 79, 16, 4, 0}, {82, 30, 80, 16, 4, 0}, {82, 30, 81, 16, 4, 0}, + {82, 30, 82, 16, 4, 0}, {83, 30, 83, 16, 4, 0}, {83, 31, 84, 16, 4, 0}, {84, 31, 86, 16, 4, 0}, {84, 31, 87, 16, 4, 0}, + {85, 31, 88, 16, 4, 0}, {85, 31, 89, 16, 4, 0}, {85, 31, 90, 16, 4, 0}, {86, 31, 91, 16, 9, 0}, {86, 32, 92, 16, 9, 0}, + {87, 32, 93, 16, 9, 0}, {87, 32, 94, 16, 9, 0}, {87, 32, 96, 16, 9, 0}, {88, 32, 97, 16, 9, 0}, {88, 32, 98, 16, 9, 0}, + {88, 32, 99, 16, 9, 0}, {89, 32, 100, 16, 9, 0}, {89, 33, 101, 16, 9, 0}, {89, 33, 102, 16, 9, 0}, {90, 33, 104, 16, 9, 0}, + {90, 33, 105, 16, 9, 0}, {90, 33, 106, 16, 9, 0}, {90, 33, 107, 16, 9, 0}, {91, 33, 108, 16, 9, 0}, {91, 33, 109, 16, 9, 0}, + {91, 34, 111, 16, 9, 0}, {91, 34, 112, 16, 9, 0}, {92, 34, 113, 16, 9, 0}, {92, 34, 114, 16, 9, 0}, {92, 34, 115, 16, 9, 0}, + {92, 34, 117, 16, 9, 0}, {92, 34, 118, 16, 9, 0}, {92, 35, 119, 16, 10, 0}, {92, 35, 120, 16, 10, 0}, {93, 35, 121, 16, 10, 0}, + {93, 35, 123, 16, 10, 0}, {93, 35, 124, 16, 10, 0}, {93, 35, 125, 16, 10, 0}, {93, 35, 126, 16, 10, 0}, {93, 35, 127, 16, 10, 0}, + {93, 36, 129, 16, 10, 0}, {93, 36, 130, 16, 10, 0}, {93, 36, 131, 16, 10, 0}, {93, 36, 132, 16, 10, 0}, {93, 36, 134, 16, 10, 0}, + {92, 36, 135, 16, 10, 0}, {92, 36, 136, 16, 10, 0}, {92, 36, 137, 16, 11, 0}, {92, 37, 138, 16, 11, 0}, {92, 37, 140, 16, 11, 0}, + {92, 37, 141, 16, 11, 0}, {92, 37, 142, 16, 11, 0}, {91, 37, 143, 16, 11, 0}, {91, 37, 144, 16, 11, 0}, {91, 37, 145, 16, 11, 0}, + {91, 38, 147, 16, 11, 0}, {90, 38, 148, 16, 11, 0}, {90, 38, 149, 16, 11, 0}, {90, 38, 150, 16, 11, 0}, {90, 38, 151, 16, 11, 0}, + {89, 38, 152, 16, 11, 0}, {89, 38, 154, 16, 11, 0}, {88, 38, 155, 16, 11, 0}, {88, 39, 156, 16, 12, 0}, {88, 39, 157, 16, 12, 0}, + {87, 39, 158, 16, 12, 0}, {87, 39, 159, 16, 12, 0}, {86, 39, 160, 16, 12, 0}, {86, 39, 161, 16, 12, 0}, {86, 39, 162, 16, 12, 0}, + {85, 40, 163, 16, 12, 0}, {85, 40, 165, 16, 12, 0}, {84, 40, 166, 16, 12, 0}, {84, 40, 167, 16, 12, 0}, {83, 40, 168, 16, 12, 0}, + {82, 40, 169, 16, 12, 0}, {82, 40, 170, 16, 12, 0}, {81, 40, 171, 16, 12, 0}, {81, 41, 172, 16, 12, 0}, {80, 41, 173, 16, 13, 0}, + {80, 41, 174, 16, 13, 0}, {79, 41, 174, 16, 13, 0}, {78, 41, 175, 16, 13, 0}, {78, 41, 176, 16, 13, 0}, {77, 41, 177, 16, 13, 0}, + {76, 41, 178, 16, 13, 0}, {76, 42, 179, 16, 13, 0}, {75, 42, 180, 16, 13, 0}, {74, 42, 181, 16, 13, 0}, {73, 42, 182, 16, 13, 0}, + {73, 42, 182, 16, 13, 0}, {72, 42, 183, 16, 13, 0}, {71, 42, 184, 16, 13, 0}, {71, 43, 185, 16, 13, 0}, {70, 43, 186, 16, 13, 0}, + {69, 43, 186, 16, 13, 0}, {68, 43, 187, 16, 14, 0}, {67, 43, 188, 16, 14, 0}, {67, 43, 188, 16, 14, 0}, {66, 43, 189, 16, 14, 0}, + {65, 43, 190, 16, 14, 0}, {64, 44, 190, 16, 14, 0}, {63, 44, 191, 16, 14, 0}, {62, 44, 192, 16, 14, 0}, {62, 44, 192, 16, 14, 0}, + {61, 44, 193, 16, 14, 0}, {60, 44, 193, 16, 14, 0}, {59, 44, 194, 16, 14, 0}, {58, 44, 195, 16, 14, 0}, {57, 45, 195, 16, 14, 0}, + {56, 45, 196, 16, 14, 0}, {55, 45, 196, 16, 14, 0}, {54, 45, 196, 16, 15, 0}, {53, 45, 197, 16, 15, 0}, {53, 45, 197, 16, 15, 0}, + {52, 45, 198, 16, 15, 0}, {51, 46, 198, 16, 15, 0}, {50, 46, 198, 16, 15, 0}, {49, 46, 199, 16, 15, 0}, {48, 46, 199, 16, 15, 0}, + {47, 46, 199, 16, 15, 0}, {46, 46, 200, 16, 15, 0}, {45, 46, 200, 16, 15, 0}, {44, 46, 200, 16, 15, 0}, {43, 47, 200, 16, 15, 0}, + {42, 47, 201, 16, 15, 0}, {41, 47, 201, 16, 15, 0}, {40, 47, 201, 16, 15, 0}, {39, 47, 201, 16, 16, 0}, {38, 47, 201, 16, 16, 0}, + {37, 47, 201, 16, 16, 0}, {36, 47, 202, 16, 16, 0}, {35, 48, 202, 16, 16, 0}, {34, 48, 202, 16, 16, 0}, {33, 48, 202, 16, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopUp3, { - { 16, 31, -1, 24, 2, 0}, { 16, 30, 0, 24, 2, 0}, { 16, 29, 0, 24, 2, 0}, { 17, 28, 1, 24, 2, 0}, { 17, 27, 1, 24, 2, 0}, - { 17, 26, 2, 24, 2, 0}, { 17, 26, 2, 24, 2, 0}, { 17, 25, 3, 24, 2, 0}, { 17, 24, 3, 24, 2, 0}, { 17, 23, 4, 24, 2, 0}, - { 17, 22, 4, 24, 2, 0}, { 18, 21, 5, 24, 2, 0}, { 18, 20, 5, 24, 2, 0}, { 18, 19, 6, 24, 2, 0}, { 18, 18, 6, 24, 2, 0}, - { 18, 18, 7, 24, 2, 0}, { 18, 17, 7, 24, 2, 0}, { 18, 16, 8, 24, 2, 0}, { 18, 15, 9, 24, 2, 0}, { 19, 14, 9, 24, 2, 0}, - { 19, 13, 10, 24, 2, 0}, { 19, 12, 10, 24, 2, 0}, { 19, 11, 11, 24, 2, 0}, { 19, 11, 11, 24, 2, 0}, { 19, 10, 12, 24, 2, 0}, - { 19, 9, 13, 24, 2, 0}, { 20, 8, 13, 24, 2, 0}, { 20, 7, 14, 24, 2, 0}, { 20, 6, 14, 24, 2, 0}, { 20, 5, 15, 24, 2, 0}, - { 20, 4, 16, 24, 2, 0}, { 20, 4, 16, 24, 2, 0}, { 20, 3, 17, 24, 2, 0}, { 20, 2, 17, 24, 3, 0}, { 21, 1, 18, 24, 3, 0}, - { 21, 0, 19, 24, 3, 0}, { 21, -1, 19, 24, 3, 0}, { 21, -1, 20, 24, 3, 0}, { 21, -2, 21, 24, 3, 0}, { 21, -3, 21, 24, 3, 0}, - { 21, -4, 22, 24, 3, 0}, { 21, -5, 23, 24, 3, 0}, { 22, -6, 23, 24, 3, 0}, { 22, -6, 24, 24, 3, 0}, { 22, -7, 25, 24, 3, 0}, - { 22, -8, 25, 24, 3, 0}, { 22, -9, 26, 24, 3, 0}, { 22, -10, 27, 24, 3, 0}, { 22, -11, 28, 24, 3, 0}, { 23, -11, 28, 24, 3, 0}, - { 23, -12, 29, 24, 3, 0}, { 23, -13, 30, 24, 3, 0}, { 23, -14, 30, 24, 3, 0}, { 23, -14, 31, 24, 3, 0}, { 23, -15, 32, 24, 3, 0}, - { 23, -16, 33, 24, 3, 0}, { 23, -17, 33, 24, 3, 0}, { 24, -18, 34, 24, 3, 0}, { 24, -18, 35, 24, 3, 0}, { 24, -19, 36, 24, 3, 0}, - { 24, -20, 37, 24, 3, 0}, { 24, -21, 37, 24, 3, 0}, { 24, -21, 38, 24, 3, 0}, { 24, -22, 39, 24, 3, 0}, { 24, -23, 40, 24, 3, 0}, - { 25, -24, 41, 24, 3, 0}, { 25, -24, 41, 24, 3, 0}, { 25, -25, 42, 24, 3, 0}, { 25, -26, 43, 24, 3, 0}, { 25, -26, 44, 24, 3, 0}, - { 25, -27, 45, 24, 3, 0}, { 25, -28, 46, 24, 3, 0}, { 26, -29, 46, 24, 3, 0}, { 26, -29, 47, 24, 3, 0}, { 26, -30, 48, 24, 3, 0}, - { 26, -31, 49, 24, 3, 0}, { 26, -31, 50, 24, 3, 0}, { 26, -32, 51, 24, 3, 0}, { 26, -33, 52, 24, 3, 0}, { 26, -33, 53, 24, 3, 0}, - { 27, -34, 53, 24, 3, 0}, { 27, -35, 54, 24, 3, 0}, { 27, -35, 55, 24, 3, 0}, { 27, -36, 56, 24, 4, 0}, { 27, -37, 57, 24, 4, 0}, - { 27, -37, 58, 24, 4, 0}, { 27, -38, 59, 24, 4, 0}, { 27, -38, 60, 24, 4, 0}, { 28, -39, 61, 24, 4, 0}, { 28, -40, 62, 24, 4, 0}, - { 28, -40, 63, 24, 4, 0}, { 28, -41, 64, 24, 4, 0}, { 28, -42, 65, 24, 4, 0}, { 28, -42, 66, 24, 4, 0}, { 28, -43, 67, 24, 4, 0}, - { 29, -43, 68, 24, 4, 0}, { 29, -44, 69, 24, 4, 0}, { 29, -44, 70, 24, 4, 0}, { 29, -45, 71, 24, 4, 0}, { 29, -45, 72, 24, 4, 0}, - { 29, -46, 73, 24, 4, 0}, { 29, -47, 74, 24, 4, 0}, { 29, -47, 75, 24, 4, 0}, { 30, -48, 76, 24, 4, 0}, { 30, -48, 77, 24, 4, 0}, - { 30, -49, 78, 24, 4, 0}, { 30, -49, 79, 24, 4, 0}, { 30, -50, 80, 24, 4, 0}, { 30, -50, 81, 24, 4, 0}, { 30, -50, 82, 24, 4, 0}, - { 30, -51, 83, 24, 4, 0}, { 31, -51, 84, 24, 4, 0}, { 31, -52, 86, 24, 4, 0}, { 31, -52, 87, 24, 4, 0}, { 31, -53, 88, 24, 4, 0}, - { 31, -53, 89, 24, 4, 0}, { 31, -53, 90, 24, 4, 0}, { 31, -54, 91, 24, 9, 0}, { 32, -54, 92, 24, 9, 0}, { 32, -55, 93, 24, 9, 0}, - { 32, -55, 94, 24, 9, 0}, { 32, -55, 96, 24, 9, 0}, { 32, -56, 97, 24, 9, 0}, { 32, -56, 98, 24, 9, 0}, { 32, -56, 99, 24, 9, 0}, - { 32, -57, 100, 24, 9, 0}, { 33, -57, 101, 24, 9, 0}, { 33, -57, 102, 24, 9, 0}, { 33, -58, 104, 24, 9, 0}, { 33, -58, 105, 24, 9, 0}, - { 33, -58, 106, 24, 9, 0}, { 33, -58, 107, 24, 9, 0}, { 33, -59, 108, 24, 9, 0}, { 33, -59, 109, 24, 9, 0}, { 34, -59, 111, 24, 9, 0}, - { 34, -59, 112, 24, 9, 0}, { 34, -60, 113, 24, 9, 0}, { 34, -60, 114, 24, 9, 0}, { 34, -60, 115, 24, 9, 0}, { 34, -60, 117, 24, 9, 0}, - { 34, -60, 118, 24, 9, 0}, { 35, -60, 119, 24, 10, 0}, { 35, -60, 120, 24, 10, 0}, { 35, -61, 121, 24, 10, 0}, { 35, -61, 123, 24, 10, 0}, - { 35, -61, 124, 24, 10, 0}, { 35, -61, 125, 24, 10, 0}, { 35, -61, 126, 24, 10, 0}, { 35, -61, 127, 24, 10, 0}, { 36, -61, 129, 24, 10, 0}, - { 36, -61, 130, 24, 10, 0}, { 36, -61, 131, 24, 10, 0}, { 36, -61, 132, 24, 10, 0}, { 36, -61, 134, 24, 10, 0}, { 36, -60, 135, 24, 10, 0}, - { 36, -60, 136, 24, 10, 0}, { 36, -60, 137, 24, 11, 0}, { 37, -60, 138, 24, 11, 0}, { 37, -60, 140, 24, 11, 0}, { 37, -60, 141, 24, 11, 0}, - { 37, -60, 142, 24, 11, 0}, { 37, -59, 143, 24, 11, 0}, { 37, -59, 144, 24, 11, 0}, { 37, -59, 145, 24, 11, 0}, { 38, -59, 147, 24, 11, 0}, - { 38, -58, 148, 24, 11, 0}, { 38, -58, 149, 24, 11, 0}, { 38, -58, 150, 24, 11, 0}, { 38, -58, 151, 24, 11, 0}, { 38, -57, 152, 24, 11, 0}, - { 38, -57, 154, 24, 11, 0}, { 38, -56, 155, 24, 11, 0}, { 39, -56, 156, 24, 12, 0}, { 39, -56, 157, 24, 12, 0}, { 39, -55, 158, 24, 12, 0}, - { 39, -55, 159, 24, 12, 0}, { 39, -54, 160, 24, 12, 0}, { 39, -54, 161, 24, 12, 0}, { 39, -54, 162, 24, 12, 0}, { 40, -53, 163, 24, 12, 0}, - { 40, -53, 165, 24, 12, 0}, { 40, -52, 166, 24, 12, 0}, { 40, -52, 167, 24, 12, 0}, { 40, -51, 168, 24, 12, 0}, { 40, -50, 169, 24, 12, 0}, - { 40, -50, 170, 24, 12, 0}, { 40, -49, 171, 24, 12, 0}, { 41, -49, 172, 24, 12, 0}, { 41, -48, 173, 24, 13, 0}, { 41, -48, 174, 24, 13, 0}, - { 41, -47, 174, 24, 13, 0}, { 41, -46, 175, 24, 13, 0}, { 41, -46, 176, 24, 13, 0}, { 41, -45, 177, 24, 13, 0}, { 41, -44, 178, 24, 13, 0}, - { 42, -44, 179, 24, 13, 0}, { 42, -43, 180, 24, 13, 0}, { 42, -42, 181, 24, 13, 0}, { 42, -41, 182, 24, 13, 0}, { 42, -41, 182, 24, 13, 0}, - { 42, -40, 183, 24, 13, 0}, { 42, -39, 184, 24, 13, 0}, { 43, -39, 185, 24, 13, 0}, { 43, -38, 186, 24, 13, 0}, { 43, -37, 186, 24, 13, 0}, - { 43, -36, 187, 24, 14, 0}, { 43, -35, 188, 24, 14, 0}, { 43, -35, 188, 24, 14, 0}, { 43, -34, 189, 24, 14, 0}, { 43, -33, 190, 24, 14, 0}, - { 44, -32, 190, 24, 14, 0}, { 44, -31, 191, 24, 14, 0}, { 44, -30, 192, 24, 14, 0}, { 44, -30, 192, 24, 14, 0}, { 44, -29, 193, 24, 14, 0}, - { 44, -28, 193, 24, 14, 0}, { 44, -27, 194, 24, 14, 0}, { 44, -26, 195, 24, 14, 0}, { 45, -25, 195, 24, 14, 0}, { 45, -24, 196, 24, 14, 0}, - { 45, -23, 196, 24, 14, 0}, { 45, -22, 196, 24, 15, 0}, { 45, -21, 197, 24, 15, 0}, { 45, -21, 197, 24, 15, 0}, { 45, -20, 198, 24, 15, 0}, - { 46, -19, 198, 24, 15, 0}, { 46, -18, 198, 24, 15, 0}, { 46, -17, 199, 24, 15, 0}, { 46, -16, 199, 24, 15, 0}, { 46, -15, 199, 24, 15, 0}, - { 46, -14, 200, 24, 15, 0}, { 46, -13, 200, 24, 15, 0}, { 46, -12, 200, 24, 15, 0}, { 47, -11, 200, 24, 15, 0}, { 47, -10, 201, 24, 15, 0}, - { 47, -9, 201, 24, 15, 0}, { 47, -8, 201, 24, 15, 0}, { 47, -7, 201, 24, 16, 0}, { 47, -6, 201, 24, 16, 0}, { 47, -5, 201, 24, 16, 0}, - { 47, -4, 202, 24, 16, 0}, { 48, -3, 202, 24, 16, 0}, { 48, -2, 202, 24, 16, 0}, { 48, -1, 202, 24, 16, 0}, { 48, 0, 202, 24, 16, 0}, + {16, 31, -1, 24, 2, 0}, {16, 30, 0, 24, 2, 0}, {16, 29, 0, 24, 2, 0}, {17, 28, 1, 24, 2, 0}, {17, 27, 1, 24, 2, 0}, + {17, 26, 2, 24, 2, 0}, {17, 26, 2, 24, 2, 0}, {17, 25, 3, 24, 2, 0}, {17, 24, 3, 24, 2, 0}, {17, 23, 4, 24, 2, 0}, + {17, 22, 4, 24, 2, 0}, {18, 21, 5, 24, 2, 0}, {18, 20, 5, 24, 2, 0}, {18, 19, 6, 24, 2, 0}, {18, 18, 6, 24, 2, 0}, + {18, 18, 7, 24, 2, 0}, {18, 17, 7, 24, 2, 0}, {18, 16, 8, 24, 2, 0}, {18, 15, 9, 24, 2, 0}, {19, 14, 9, 24, 2, 0}, + {19, 13, 10, 24, 2, 0}, {19, 12, 10, 24, 2, 0}, {19, 11, 11, 24, 2, 0}, {19, 11, 11, 24, 2, 0}, {19, 10, 12, 24, 2, 0}, + {19, 9, 13, 24, 2, 0}, {20, 8, 13, 24, 2, 0}, {20, 7, 14, 24, 2, 0}, {20, 6, 14, 24, 2, 0}, {20, 5, 15, 24, 2, 0}, + {20, 4, 16, 24, 2, 0}, {20, 4, 16, 24, 2, 0}, {20, 3, 17, 24, 2, 0}, {20, 2, 17, 24, 3, 0}, {21, 1, 18, 24, 3, 0}, + {21, 0, 19, 24, 3, 0}, {21, -1, 19, 24, 3, 0}, {21, -1, 20, 24, 3, 0}, {21, -2, 21, 24, 3, 0}, {21, -3, 21, 24, 3, 0}, + {21, -4, 22, 24, 3, 0}, {21, -5, 23, 24, 3, 0}, {22, -6, 23, 24, 3, 0}, {22, -6, 24, 24, 3, 0}, {22, -7, 25, 24, 3, 0}, + {22, -8, 25, 24, 3, 0}, {22, -9, 26, 24, 3, 0}, {22, -10, 27, 24, 3, 0}, {22, -11, 28, 24, 3, 0}, {23, -11, 28, 24, 3, 0}, + {23, -12, 29, 24, 3, 0}, {23, -13, 30, 24, 3, 0}, {23, -14, 30, 24, 3, 0}, {23, -14, 31, 24, 3, 0}, {23, -15, 32, 24, 3, 0}, + {23, -16, 33, 24, 3, 0}, {23, -17, 33, 24, 3, 0}, {24, -18, 34, 24, 3, 0}, {24, -18, 35, 24, 3, 0}, {24, -19, 36, 24, 3, 0}, + {24, -20, 37, 24, 3, 0}, {24, -21, 37, 24, 3, 0}, {24, -21, 38, 24, 3, 0}, {24, -22, 39, 24, 3, 0}, {24, -23, 40, 24, 3, 0}, + {25, -24, 41, 24, 3, 0}, {25, -24, 41, 24, 3, 0}, {25, -25, 42, 24, 3, 0}, {25, -26, 43, 24, 3, 0}, {25, -26, 44, 24, 3, 0}, + {25, -27, 45, 24, 3, 0}, {25, -28, 46, 24, 3, 0}, {26, -29, 46, 24, 3, 0}, {26, -29, 47, 24, 3, 0}, {26, -30, 48, 24, 3, 0}, + {26, -31, 49, 24, 3, 0}, {26, -31, 50, 24, 3, 0}, {26, -32, 51, 24, 3, 0}, {26, -33, 52, 24, 3, 0}, {26, -33, 53, 24, 3, 0}, + {27, -34, 53, 24, 3, 0}, {27, -35, 54, 24, 3, 0}, {27, -35, 55, 24, 3, 0}, {27, -36, 56, 24, 4, 0}, {27, -37, 57, 24, 4, 0}, + {27, -37, 58, 24, 4, 0}, {27, -38, 59, 24, 4, 0}, {27, -38, 60, 24, 4, 0}, {28, -39, 61, 24, 4, 0}, {28, -40, 62, 24, 4, 0}, + {28, -40, 63, 24, 4, 0}, {28, -41, 64, 24, 4, 0}, {28, -42, 65, 24, 4, 0}, {28, -42, 66, 24, 4, 0}, {28, -43, 67, 24, 4, 0}, + {29, -43, 68, 24, 4, 0}, {29, -44, 69, 24, 4, 0}, {29, -44, 70, 24, 4, 0}, {29, -45, 71, 24, 4, 0}, {29, -45, 72, 24, 4, 0}, + {29, -46, 73, 24, 4, 0}, {29, -47, 74, 24, 4, 0}, {29, -47, 75, 24, 4, 0}, {30, -48, 76, 24, 4, 0}, {30, -48, 77, 24, 4, 0}, + {30, -49, 78, 24, 4, 0}, {30, -49, 79, 24, 4, 0}, {30, -50, 80, 24, 4, 0}, {30, -50, 81, 24, 4, 0}, {30, -50, 82, 24, 4, 0}, + {30, -51, 83, 24, 4, 0}, {31, -51, 84, 24, 4, 0}, {31, -52, 86, 24, 4, 0}, {31, -52, 87, 24, 4, 0}, {31, -53, 88, 24, 4, 0}, + {31, -53, 89, 24, 4, 0}, {31, -53, 90, 24, 4, 0}, {31, -54, 91, 24, 9, 0}, {32, -54, 92, 24, 9, 0}, {32, -55, 93, 24, 9, 0}, + {32, -55, 94, 24, 9, 0}, {32, -55, 96, 24, 9, 0}, {32, -56, 97, 24, 9, 0}, {32, -56, 98, 24, 9, 0}, {32, -56, 99, 24, 9, 0}, + {32, -57, 100, 24, 9, 0}, {33, -57, 101, 24, 9, 0}, {33, -57, 102, 24, 9, 0}, {33, -58, 104, 24, 9, 0}, {33, -58, 105, 24, 9, 0}, + {33, -58, 106, 24, 9, 0}, {33, -58, 107, 24, 9, 0}, {33, -59, 108, 24, 9, 0}, {33, -59, 109, 24, 9, 0}, {34, -59, 111, 24, 9, 0}, + {34, -59, 112, 24, 9, 0}, {34, -60, 113, 24, 9, 0}, {34, -60, 114, 24, 9, 0}, {34, -60, 115, 24, 9, 0}, {34, -60, 117, 24, 9, 0}, + {34, -60, 118, 24, 9, 0}, {35, -60, 119, 24, 10, 0}, {35, -60, 120, 24, 10, 0}, {35, -61, 121, 24, 10, 0}, {35, -61, 123, 24, 10, 0}, + {35, -61, 124, 24, 10, 0}, {35, -61, 125, 24, 10, 0}, {35, -61, 126, 24, 10, 0}, {35, -61, 127, 24, 10, 0}, {36, -61, 129, 24, 10, 0}, + {36, -61, 130, 24, 10, 0}, {36, -61, 131, 24, 10, 0}, {36, -61, 132, 24, 10, 0}, {36, -61, 134, 24, 10, 0}, {36, -60, 135, 24, 10, 0}, + {36, -60, 136, 24, 10, 0}, {36, -60, 137, 24, 11, 0}, {37, -60, 138, 24, 11, 0}, {37, -60, 140, 24, 11, 0}, {37, -60, 141, 24, 11, 0}, + {37, -60, 142, 24, 11, 0}, {37, -59, 143, 24, 11, 0}, {37, -59, 144, 24, 11, 0}, {37, -59, 145, 24, 11, 0}, {38, -59, 147, 24, 11, 0}, + {38, -58, 148, 24, 11, 0}, {38, -58, 149, 24, 11, 0}, {38, -58, 150, 24, 11, 0}, {38, -58, 151, 24, 11, 0}, {38, -57, 152, 24, 11, 0}, + {38, -57, 154, 24, 11, 0}, {38, -56, 155, 24, 11, 0}, {39, -56, 156, 24, 12, 0}, {39, -56, 157, 24, 12, 0}, {39, -55, 158, 24, 12, 0}, + {39, -55, 159, 24, 12, 0}, {39, -54, 160, 24, 12, 0}, {39, -54, 161, 24, 12, 0}, {39, -54, 162, 24, 12, 0}, {40, -53, 163, 24, 12, 0}, + {40, -53, 165, 24, 12, 0}, {40, -52, 166, 24, 12, 0}, {40, -52, 167, 24, 12, 0}, {40, -51, 168, 24, 12, 0}, {40, -50, 169, 24, 12, 0}, + {40, -50, 170, 24, 12, 0}, {40, -49, 171, 24, 12, 0}, {41, -49, 172, 24, 12, 0}, {41, -48, 173, 24, 13, 0}, {41, -48, 174, 24, 13, 0}, + {41, -47, 174, 24, 13, 0}, {41, -46, 175, 24, 13, 0}, {41, -46, 176, 24, 13, 0}, {41, -45, 177, 24, 13, 0}, {41, -44, 178, 24, 13, 0}, + {42, -44, 179, 24, 13, 0}, {42, -43, 180, 24, 13, 0}, {42, -42, 181, 24, 13, 0}, {42, -41, 182, 24, 13, 0}, {42, -41, 182, 24, 13, 0}, + {42, -40, 183, 24, 13, 0}, {42, -39, 184, 24, 13, 0}, {43, -39, 185, 24, 13, 0}, {43, -38, 186, 24, 13, 0}, {43, -37, 186, 24, 13, 0}, + {43, -36, 187, 24, 14, 0}, {43, -35, 188, 24, 14, 0}, {43, -35, 188, 24, 14, 0}, {43, -34, 189, 24, 14, 0}, {43, -33, 190, 24, 14, 0}, + {44, -32, 190, 24, 14, 0}, {44, -31, 191, 24, 14, 0}, {44, -30, 192, 24, 14, 0}, {44, -30, 192, 24, 14, 0}, {44, -29, 193, 24, 14, 0}, + {44, -28, 193, 24, 14, 0}, {44, -27, 194, 24, 14, 0}, {44, -26, 195, 24, 14, 0}, {45, -25, 195, 24, 14, 0}, {45, -24, 196, 24, 14, 0}, + {45, -23, 196, 24, 14, 0}, {45, -22, 196, 24, 15, 0}, {45, -21, 197, 24, 15, 0}, {45, -21, 197, 24, 15, 0}, {45, -20, 198, 24, 15, 0}, + {46, -19, 198, 24, 15, 0}, {46, -18, 198, 24, 15, 0}, {46, -17, 199, 24, 15, 0}, {46, -16, 199, 24, 15, 0}, {46, -15, 199, 24, 15, 0}, + {46, -14, 200, 24, 15, 0}, {46, -13, 200, 24, 15, 0}, {46, -12, 200, 24, 15, 0}, {47, -11, 200, 24, 15, 0}, {47, -10, 201, 24, 15, 0}, + {47, -9, 201, 24, 15, 0}, {47, -8, 201, 24, 15, 0}, {47, -7, 201, 24, 16, 0}, {47, -6, 201, 24, 16, 0}, {47, -5, 201, 24, 16, 0}, + {47, -4, 202, 24, 16, 0}, {48, -3, 202, 24, 16, 0}, {48, -2, 202, 24, 16, 0}, {48, -1, 202, 24, 16, 0}, {48, 0, 202, 24, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopUp0, { - { 31, 16, -1, 0, 2, 0}, { 30, 16, 0, 0, 2, 0}, { 29, 16, 0, 0, 2, 0}, { 28, 17, 1, 0, 2, 0}, { 27, 17, 1, 0, 2, 0}, - { 26, 17, 2, 0, 2, 0}, { 26, 17, 2, 0, 2, 0}, { 25, 17, 3, 0, 2, 0}, { 24, 17, 3, 0, 2, 0}, { 23, 17, 4, 0, 2, 0}, - { 22, 17, 4, 0, 2, 0}, { 21, 18, 5, 0, 2, 0}, { 20, 18, 5, 0, 2, 0}, { 19, 18, 6, 0, 2, 0}, { 18, 18, 6, 0, 2, 0}, - { 18, 18, 7, 0, 2, 0}, { 17, 18, 7, 0, 2, 0}, { 16, 18, 8, 0, 2, 0}, { 15, 18, 9, 0, 2, 0}, { 14, 19, 9, 0, 2, 0}, - { 13, 19, 10, 0, 2, 0}, { 12, 19, 10, 0, 2, 0}, { 11, 19, 11, 0, 2, 0}, { 11, 19, 11, 0, 2, 0}, { 10, 19, 12, 0, 2, 0}, - { 9, 19, 13, 0, 2, 0}, { 8, 20, 13, 0, 2, 0}, { 7, 20, 14, 0, 2, 0}, { 6, 20, 14, 0, 2, 0}, { 5, 20, 15, 0, 2, 0}, - { 4, 20, 16, 0, 2, 0}, { 4, 20, 16, 0, 2, 0}, { 3, 20, 17, 0, 2, 0}, { 2, 20, 17, 0, 3, 0}, { 1, 21, 18, 0, 3, 0}, - { 0, 21, 19, 0, 3, 0}, { -1, 21, 19, 0, 3, 0}, { -1, 21, 20, 0, 3, 0}, { -2, 21, 21, 0, 3, 0}, { -3, 21, 21, 0, 3, 0}, - { -4, 21, 22, 0, 3, 0}, { -5, 21, 23, 0, 3, 0}, { -6, 22, 23, 0, 3, 0}, { -6, 22, 24, 0, 3, 0}, { -7, 22, 25, 0, 3, 0}, - { -8, 22, 25, 0, 3, 0}, { -9, 22, 26, 0, 3, 0}, { -10, 22, 27, 0, 3, 0}, { -11, 22, 28, 0, 3, 0}, { -11, 23, 28, 0, 3, 0}, - { -12, 23, 29, 0, 3, 0}, { -13, 23, 30, 0, 3, 0}, { -14, 23, 30, 0, 3, 0}, { -14, 23, 31, 0, 3, 0}, { -15, 23, 32, 0, 3, 0}, - { -16, 23, 33, 0, 3, 0}, { -17, 23, 33, 0, 3, 0}, { -18, 24, 34, 0, 3, 0}, { -18, 24, 35, 0, 3, 0}, { -19, 24, 36, 0, 3, 0}, - { -20, 24, 37, 0, 3, 0}, { -21, 24, 37, 0, 3, 0}, { -21, 24, 38, 0, 3, 0}, { -22, 24, 39, 0, 3, 0}, { -23, 24, 40, 0, 3, 0}, - { -24, 25, 41, 0, 3, 0}, { -24, 25, 41, 0, 3, 0}, { -25, 25, 42, 0, 3, 0}, { -26, 25, 43, 0, 3, 0}, { -26, 25, 44, 0, 3, 0}, - { -27, 25, 45, 0, 3, 0}, { -28, 25, 46, 0, 3, 0}, { -29, 26, 46, 0, 3, 0}, { -29, 26, 47, 0, 3, 0}, { -30, 26, 48, 0, 3, 0}, - { -31, 26, 49, 0, 3, 0}, { -31, 26, 50, 0, 3, 0}, { -32, 26, 51, 0, 3, 0}, { -33, 26, 52, 0, 3, 0}, { -33, 26, 53, 0, 3, 0}, - { -34, 27, 53, 0, 3, 0}, { -35, 27, 54, 0, 3, 0}, { -35, 27, 55, 0, 3, 0}, { -36, 27, 56, 0, 4, 0}, { -37, 27, 57, 0, 4, 0}, - { -37, 27, 58, 0, 4, 0}, { -38, 27, 59, 0, 4, 0}, { -38, 27, 60, 0, 4, 0}, { -39, 28, 61, 0, 4, 0}, { -40, 28, 62, 0, 4, 0}, - { -40, 28, 63, 0, 4, 0}, { -41, 28, 64, 0, 4, 0}, { -42, 28, 65, 0, 4, 0}, { -42, 28, 66, 0, 4, 0}, { -43, 28, 67, 0, 4, 0}, - { -43, 29, 68, 0, 4, 0}, { -44, 29, 69, 0, 4, 0}, { -44, 29, 70, 0, 4, 0}, { -45, 29, 71, 0, 4, 0}, { -45, 29, 72, 0, 4, 0}, - { -46, 29, 73, 0, 4, 0}, { -47, 29, 74, 0, 4, 0}, { -47, 29, 75, 0, 4, 0}, { -48, 30, 76, 0, 4, 0}, { -48, 30, 77, 0, 4, 0}, - { -49, 30, 78, 0, 4, 0}, { -49, 30, 79, 0, 4, 0}, { -50, 30, 80, 0, 4, 0}, { -50, 30, 81, 0, 4, 0}, { -50, 30, 82, 0, 4, 0}, - { -51, 30, 83, 0, 4, 0}, { -51, 31, 84, 0, 4, 0}, { -52, 31, 86, 0, 4, 0}, { -52, 31, 87, 0, 4, 0}, { -53, 31, 88, 0, 4, 0}, - { -53, 31, 89, 0, 4, 0}, { -53, 31, 90, 0, 4, 0}, { -54, 31, 91, 0, 9, 0}, { -54, 32, 92, 0, 9, 0}, { -55, 32, 93, 0, 9, 0}, - { -55, 32, 94, 0, 9, 0}, { -55, 32, 96, 0, 9, 0}, { -56, 32, 97, 0, 9, 0}, { -56, 32, 98, 0, 9, 0}, { -56, 32, 99, 0, 9, 0}, - { -57, 32, 100, 0, 9, 0}, { -57, 33, 101, 0, 9, 0}, { -57, 33, 102, 0, 9, 0}, { -58, 33, 104, 0, 9, 0}, { -58, 33, 105, 0, 9, 0}, - { -58, 33, 106, 0, 9, 0}, { -58, 33, 107, 0, 9, 0}, { -59, 33, 108, 0, 9, 0}, { -59, 33, 109, 0, 9, 0}, { -59, 34, 111, 0, 9, 0}, - { -59, 34, 112, 0, 9, 0}, { -60, 34, 113, 0, 9, 0}, { -60, 34, 114, 0, 9, 0}, { -60, 34, 115, 0, 9, 0}, { -60, 34, 117, 0, 9, 0}, - { -60, 34, 118, 0, 9, 0}, { -60, 35, 119, 0, 10, 0}, { -60, 35, 120, 0, 10, 0}, { -61, 35, 121, 0, 10, 0}, { -61, 35, 123, 0, 10, 0}, - { -61, 35, 124, 0, 10, 0}, { -61, 35, 125, 0, 10, 0}, { -61, 35, 126, 0, 10, 0}, { -61, 35, 127, 0, 10, 0}, { -61, 36, 129, 0, 10, 0}, - { -61, 36, 130, 0, 10, 0}, { -61, 36, 131, 0, 10, 0}, { -61, 36, 132, 0, 10, 0}, { -61, 36, 134, 0, 10, 0}, { -60, 36, 135, 0, 10, 0}, - { -60, 36, 136, 0, 10, 0}, { -60, 36, 137, 0, 11, 0}, { -60, 37, 138, 0, 11, 0}, { -60, 37, 140, 0, 11, 0}, { -60, 37, 141, 0, 11, 0}, - { -60, 37, 142, 0, 11, 0}, { -59, 37, 143, 0, 11, 0}, { -59, 37, 144, 0, 11, 0}, { -59, 37, 145, 0, 11, 0}, { -59, 38, 147, 0, 11, 0}, - { -58, 38, 148, 0, 11, 0}, { -58, 38, 149, 0, 11, 0}, { -58, 38, 150, 0, 11, 0}, { -58, 38, 151, 0, 11, 0}, { -57, 38, 152, 0, 11, 0}, - { -57, 38, 154, 0, 11, 0}, { -56, 38, 155, 0, 11, 0}, { -56, 39, 156, 0, 12, 0}, { -56, 39, 157, 0, 12, 0}, { -55, 39, 158, 0, 12, 0}, - { -55, 39, 159, 0, 12, 0}, { -54, 39, 160, 0, 12, 0}, { -54, 39, 161, 0, 12, 0}, { -54, 39, 162, 0, 12, 0}, { -53, 40, 163, 0, 12, 0}, - { -53, 40, 165, 0, 12, 0}, { -52, 40, 166, 0, 12, 0}, { -52, 40, 167, 0, 12, 0}, { -51, 40, 168, 0, 12, 0}, { -50, 40, 169, 0, 12, 0}, - { -50, 40, 170, 0, 12, 0}, { -49, 40, 171, 0, 12, 0}, { -49, 41, 172, 0, 12, 0}, { -48, 41, 173, 0, 13, 0}, { -48, 41, 174, 0, 13, 0}, - { -47, 41, 174, 0, 13, 0}, { -46, 41, 175, 0, 13, 0}, { -46, 41, 176, 0, 13, 0}, { -45, 41, 177, 0, 13, 0}, { -44, 41, 178, 0, 13, 0}, - { -44, 42, 179, 0, 13, 0}, { -43, 42, 180, 0, 13, 0}, { -42, 42, 181, 0, 13, 0}, { -41, 42, 182, 0, 13, 0}, { -41, 42, 182, 0, 13, 0}, - { -40, 42, 183, 0, 13, 0}, { -39, 42, 184, 0, 13, 0}, { -39, 43, 185, 0, 13, 0}, { -38, 43, 186, 0, 13, 0}, { -37, 43, 186, 0, 13, 0}, - { -36, 43, 187, 0, 14, 0}, { -35, 43, 188, 0, 14, 0}, { -35, 43, 188, 0, 14, 0}, { -34, 43, 189, 0, 14, 0}, { -33, 43, 190, 0, 14, 0}, - { -32, 44, 190, 0, 14, 0}, { -31, 44, 191, 0, 14, 0}, { -30, 44, 192, 0, 14, 0}, { -30, 44, 192, 0, 14, 0}, { -29, 44, 193, 0, 14, 0}, - { -28, 44, 193, 0, 14, 0}, { -27, 44, 194, 0, 14, 0}, { -26, 44, 195, 0, 14, 0}, { -25, 45, 195, 0, 14, 0}, { -24, 45, 196, 0, 14, 0}, - { -23, 45, 196, 0, 14, 0}, { -22, 45, 196, 0, 15, 0}, { -21, 45, 197, 0, 15, 0}, { -21, 45, 197, 0, 15, 0}, { -20, 45, 198, 0, 15, 0}, - { -19, 46, 198, 0, 15, 0}, { -18, 46, 198, 0, 15, 0}, { -17, 46, 199, 0, 15, 0}, { -16, 46, 199, 0, 15, 0}, { -15, 46, 199, 0, 15, 0}, - { -14, 46, 200, 0, 15, 0}, { -13, 46, 200, 0, 15, 0}, { -12, 46, 200, 0, 15, 0}, { -11, 47, 200, 0, 15, 0}, { -10, 47, 201, 0, 15, 0}, - { -9, 47, 201, 0, 15, 0}, { -8, 47, 201, 0, 15, 0}, { -7, 47, 201, 0, 16, 0}, { -6, 47, 201, 0, 16, 0}, { -5, 47, 201, 0, 16, 0}, - { -4, 47, 202, 0, 16, 0}, { -3, 48, 202, 0, 16, 0}, { -2, 48, 202, 0, 16, 0}, { -1, 48, 202, 0, 16, 0}, { 0, 48, 202, 0, 16, 0}, + {31, 16, -1, 0, 2, 0}, {30, 16, 0, 0, 2, 0}, {29, 16, 0, 0, 2, 0}, {28, 17, 1, 0, 2, 0}, {27, 17, 1, 0, 2, 0}, + {26, 17, 2, 0, 2, 0}, {26, 17, 2, 0, 2, 0}, {25, 17, 3, 0, 2, 0}, {24, 17, 3, 0, 2, 0}, {23, 17, 4, 0, 2, 0}, + {22, 17, 4, 0, 2, 0}, {21, 18, 5, 0, 2, 0}, {20, 18, 5, 0, 2, 0}, {19, 18, 6, 0, 2, 0}, {18, 18, 6, 0, 2, 0}, + {18, 18, 7, 0, 2, 0}, {17, 18, 7, 0, 2, 0}, {16, 18, 8, 0, 2, 0}, {15, 18, 9, 0, 2, 0}, {14, 19, 9, 0, 2, 0}, + {13, 19, 10, 0, 2, 0}, {12, 19, 10, 0, 2, 0}, {11, 19, 11, 0, 2, 0}, {11, 19, 11, 0, 2, 0}, {10, 19, 12, 0, 2, 0}, + {9, 19, 13, 0, 2, 0}, {8, 20, 13, 0, 2, 0}, {7, 20, 14, 0, 2, 0}, {6, 20, 14, 0, 2, 0}, {5, 20, 15, 0, 2, 0}, + {4, 20, 16, 0, 2, 0}, {4, 20, 16, 0, 2, 0}, {3, 20, 17, 0, 2, 0}, {2, 20, 17, 0, 3, 0}, {1, 21, 18, 0, 3, 0}, + {0, 21, 19, 0, 3, 0}, {-1, 21, 19, 0, 3, 0}, {-1, 21, 20, 0, 3, 0}, {-2, 21, 21, 0, 3, 0}, {-3, 21, 21, 0, 3, 0}, + {-4, 21, 22, 0, 3, 0}, {-5, 21, 23, 0, 3, 0}, {-6, 22, 23, 0, 3, 0}, {-6, 22, 24, 0, 3, 0}, {-7, 22, 25, 0, 3, 0}, + {-8, 22, 25, 0, 3, 0}, {-9, 22, 26, 0, 3, 0}, {-10, 22, 27, 0, 3, 0}, {-11, 22, 28, 0, 3, 0}, {-11, 23, 28, 0, 3, 0}, + {-12, 23, 29, 0, 3, 0}, {-13, 23, 30, 0, 3, 0}, {-14, 23, 30, 0, 3, 0}, {-14, 23, 31, 0, 3, 0}, {-15, 23, 32, 0, 3, 0}, + {-16, 23, 33, 0, 3, 0}, {-17, 23, 33, 0, 3, 0}, {-18, 24, 34, 0, 3, 0}, {-18, 24, 35, 0, 3, 0}, {-19, 24, 36, 0, 3, 0}, + {-20, 24, 37, 0, 3, 0}, {-21, 24, 37, 0, 3, 0}, {-21, 24, 38, 0, 3, 0}, {-22, 24, 39, 0, 3, 0}, {-23, 24, 40, 0, 3, 0}, + {-24, 25, 41, 0, 3, 0}, {-24, 25, 41, 0, 3, 0}, {-25, 25, 42, 0, 3, 0}, {-26, 25, 43, 0, 3, 0}, {-26, 25, 44, 0, 3, 0}, + {-27, 25, 45, 0, 3, 0}, {-28, 25, 46, 0, 3, 0}, {-29, 26, 46, 0, 3, 0}, {-29, 26, 47, 0, 3, 0}, {-30, 26, 48, 0, 3, 0}, + {-31, 26, 49, 0, 3, 0}, {-31, 26, 50, 0, 3, 0}, {-32, 26, 51, 0, 3, 0}, {-33, 26, 52, 0, 3, 0}, {-33, 26, 53, 0, 3, 0}, + {-34, 27, 53, 0, 3, 0}, {-35, 27, 54, 0, 3, 0}, {-35, 27, 55, 0, 3, 0}, {-36, 27, 56, 0, 4, 0}, {-37, 27, 57, 0, 4, 0}, + {-37, 27, 58, 0, 4, 0}, {-38, 27, 59, 0, 4, 0}, {-38, 27, 60, 0, 4, 0}, {-39, 28, 61, 0, 4, 0}, {-40, 28, 62, 0, 4, 0}, + {-40, 28, 63, 0, 4, 0}, {-41, 28, 64, 0, 4, 0}, {-42, 28, 65, 0, 4, 0}, {-42, 28, 66, 0, 4, 0}, {-43, 28, 67, 0, 4, 0}, + {-43, 29, 68, 0, 4, 0}, {-44, 29, 69, 0, 4, 0}, {-44, 29, 70, 0, 4, 0}, {-45, 29, 71, 0, 4, 0}, {-45, 29, 72, 0, 4, 0}, + {-46, 29, 73, 0, 4, 0}, {-47, 29, 74, 0, 4, 0}, {-47, 29, 75, 0, 4, 0}, {-48, 30, 76, 0, 4, 0}, {-48, 30, 77, 0, 4, 0}, + {-49, 30, 78, 0, 4, 0}, {-49, 30, 79, 0, 4, 0}, {-50, 30, 80, 0, 4, 0}, {-50, 30, 81, 0, 4, 0}, {-50, 30, 82, 0, 4, 0}, + {-51, 30, 83, 0, 4, 0}, {-51, 31, 84, 0, 4, 0}, {-52, 31, 86, 0, 4, 0}, {-52, 31, 87, 0, 4, 0}, {-53, 31, 88, 0, 4, 0}, + {-53, 31, 89, 0, 4, 0}, {-53, 31, 90, 0, 4, 0}, {-54, 31, 91, 0, 9, 0}, {-54, 32, 92, 0, 9, 0}, {-55, 32, 93, 0, 9, 0}, + {-55, 32, 94, 0, 9, 0}, {-55, 32, 96, 0, 9, 0}, {-56, 32, 97, 0, 9, 0}, {-56, 32, 98, 0, 9, 0}, {-56, 32, 99, 0, 9, 0}, + {-57, 32, 100, 0, 9, 0}, {-57, 33, 101, 0, 9, 0}, {-57, 33, 102, 0, 9, 0}, {-58, 33, 104, 0, 9, 0}, {-58, 33, 105, 0, 9, 0}, + {-58, 33, 106, 0, 9, 0}, {-58, 33, 107, 0, 9, 0}, {-59, 33, 108, 0, 9, 0}, {-59, 33, 109, 0, 9, 0}, {-59, 34, 111, 0, 9, 0}, + {-59, 34, 112, 0, 9, 0}, {-60, 34, 113, 0, 9, 0}, {-60, 34, 114, 0, 9, 0}, {-60, 34, 115, 0, 9, 0}, {-60, 34, 117, 0, 9, 0}, + {-60, 34, 118, 0, 9, 0}, {-60, 35, 119, 0, 10, 0}, {-60, 35, 120, 0, 10, 0}, {-61, 35, 121, 0, 10, 0}, {-61, 35, 123, 0, 10, 0}, + {-61, 35, 124, 0, 10, 0}, {-61, 35, 125, 0, 10, 0}, {-61, 35, 126, 0, 10, 0}, {-61, 35, 127, 0, 10, 0}, {-61, 36, 129, 0, 10, 0}, + {-61, 36, 130, 0, 10, 0}, {-61, 36, 131, 0, 10, 0}, {-61, 36, 132, 0, 10, 0}, {-61, 36, 134, 0, 10, 0}, {-60, 36, 135, 0, 10, 0}, + {-60, 36, 136, 0, 10, 0}, {-60, 36, 137, 0, 11, 0}, {-60, 37, 138, 0, 11, 0}, {-60, 37, 140, 0, 11, 0}, {-60, 37, 141, 0, 11, 0}, + {-60, 37, 142, 0, 11, 0}, {-59, 37, 143, 0, 11, 0}, {-59, 37, 144, 0, 11, 0}, {-59, 37, 145, 0, 11, 0}, {-59, 38, 147, 0, 11, 0}, + {-58, 38, 148, 0, 11, 0}, {-58, 38, 149, 0, 11, 0}, {-58, 38, 150, 0, 11, 0}, {-58, 38, 151, 0, 11, 0}, {-57, 38, 152, 0, 11, 0}, + {-57, 38, 154, 0, 11, 0}, {-56, 38, 155, 0, 11, 0}, {-56, 39, 156, 0, 12, 0}, {-56, 39, 157, 0, 12, 0}, {-55, 39, 158, 0, 12, 0}, + {-55, 39, 159, 0, 12, 0}, {-54, 39, 160, 0, 12, 0}, {-54, 39, 161, 0, 12, 0}, {-54, 39, 162, 0, 12, 0}, {-53, 40, 163, 0, 12, 0}, + {-53, 40, 165, 0, 12, 0}, {-52, 40, 166, 0, 12, 0}, {-52, 40, 167, 0, 12, 0}, {-51, 40, 168, 0, 12, 0}, {-50, 40, 169, 0, 12, 0}, + {-50, 40, 170, 0, 12, 0}, {-49, 40, 171, 0, 12, 0}, {-49, 41, 172, 0, 12, 0}, {-48, 41, 173, 0, 13, 0}, {-48, 41, 174, 0, 13, 0}, + {-47, 41, 174, 0, 13, 0}, {-46, 41, 175, 0, 13, 0}, {-46, 41, 176, 0, 13, 0}, {-45, 41, 177, 0, 13, 0}, {-44, 41, 178, 0, 13, 0}, + {-44, 42, 179, 0, 13, 0}, {-43, 42, 180, 0, 13, 0}, {-42, 42, 181, 0, 13, 0}, {-41, 42, 182, 0, 13, 0}, {-41, 42, 182, 0, 13, 0}, + {-40, 42, 183, 0, 13, 0}, {-39, 42, 184, 0, 13, 0}, {-39, 43, 185, 0, 13, 0}, {-38, 43, 186, 0, 13, 0}, {-37, 43, 186, 0, 13, 0}, + {-36, 43, 187, 0, 14, 0}, {-35, 43, 188, 0, 14, 0}, {-35, 43, 188, 0, 14, 0}, {-34, 43, 189, 0, 14, 0}, {-33, 43, 190, 0, 14, 0}, + {-32, 44, 190, 0, 14, 0}, {-31, 44, 191, 0, 14, 0}, {-30, 44, 192, 0, 14, 0}, {-30, 44, 192, 0, 14, 0}, {-29, 44, 193, 0, 14, 0}, + {-28, 44, 193, 0, 14, 0}, {-27, 44, 194, 0, 14, 0}, {-26, 44, 195, 0, 14, 0}, {-25, 45, 195, 0, 14, 0}, {-24, 45, 196, 0, 14, 0}, + {-23, 45, 196, 0, 14, 0}, {-22, 45, 196, 0, 15, 0}, {-21, 45, 197, 0, 15, 0}, {-21, 45, 197, 0, 15, 0}, {-20, 45, 198, 0, 15, 0}, + {-19, 46, 198, 0, 15, 0}, {-18, 46, 198, 0, 15, 0}, {-17, 46, 199, 0, 15, 0}, {-16, 46, 199, 0, 15, 0}, {-15, 46, 199, 0, 15, 0}, + {-14, 46, 200, 0, 15, 0}, {-13, 46, 200, 0, 15, 0}, {-12, 46, 200, 0, 15, 0}, {-11, 47, 200, 0, 15, 0}, {-10, 47, 201, 0, 15, 0}, + {-9, 47, 201, 0, 15, 0}, {-8, 47, 201, 0, 15, 0}, {-7, 47, 201, 0, 16, 0}, {-6, 47, 201, 0, 16, 0}, {-5, 47, 201, 0, 16, 0}, + {-4, 47, 202, 0, 16, 0}, {-3, 48, 202, 0, 16, 0}, {-2, 48, 202, 0, 16, 0}, {-1, 48, 202, 0, 16, 0}, {0, 48, 202, 0, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopUp1, { - { 16, 0, -1, 8, 2, 0}, { 16, 1, -1, 8, 2, 0}, { 16, 2, 0, 8, 2, 0}, { 16, 3, 0, 8, 2, 0}, { 17, 4, 1, 8, 2, 0}, - { 17, 5, 1, 8, 2, 0}, { 17, 6, 2, 8, 2, 0}, { 17, 6, 2, 8, 2, 0}, { 17, 7, 3, 8, 2, 0}, { 17, 8, 3, 8, 2, 0}, - { 17, 9, 4, 8, 2, 0}, { 17, 10, 4, 8, 2, 0}, { 18, 11, 5, 8, 2, 0}, { 18, 12, 5, 8, 2, 0}, { 18, 13, 6, 8, 2, 0}, - { 18, 14, 6, 8, 2, 0}, { 18, 14, 7, 8, 2, 0}, { 18, 15, 7, 8, 2, 0}, { 18, 16, 8, 8, 2, 0}, { 18, 17, 9, 8, 2, 0}, - { 19, 18, 9, 8, 2, 0}, { 19, 19, 10, 8, 2, 0}, { 19, 20, 10, 8, 2, 0}, { 19, 21, 11, 8, 2, 0}, { 19, 21, 11, 8, 2, 0}, - { 19, 22, 12, 8, 2, 0}, { 19, 23, 13, 8, 2, 0}, { 20, 24, 13, 8, 2, 0}, { 20, 25, 14, 8, 2, 0}, { 20, 26, 14, 8, 2, 0}, - { 20, 27, 15, 8, 2, 0}, { 20, 28, 16, 8, 2, 0}, { 20, 28, 16, 8, 2, 0}, { 20, 29, 17, 8, 2, 0}, { 20, 30, 17, 8, 3, 0}, - { 21, 31, 18, 8, 3, 0}, { 21, 32, 19, 8, 3, 0}, { 21, 33, 19, 8, 3, 0}, { 21, 33, 20, 8, 3, 0}, { 21, 34, 21, 8, 3, 0}, - { 21, 35, 21, 8, 3, 0}, { 21, 36, 22, 8, 3, 0}, { 21, 37, 23, 8, 3, 0}, { 22, 38, 23, 8, 3, 0}, { 22, 38, 24, 8, 3, 0}, - { 22, 39, 25, 8, 3, 0}, { 22, 40, 25, 8, 3, 0}, { 22, 41, 26, 8, 3, 0}, { 22, 42, 27, 8, 3, 0}, { 22, 43, 28, 8, 3, 0}, - { 23, 43, 28, 8, 3, 0}, { 23, 44, 29, 8, 3, 0}, { 23, 45, 30, 8, 3, 0}, { 23, 46, 30, 8, 3, 0}, { 23, 46, 31, 8, 3, 0}, - { 23, 47, 32, 8, 3, 0}, { 23, 48, 33, 8, 3, 0}, { 23, 49, 33, 8, 3, 0}, { 24, 50, 34, 8, 3, 0}, { 24, 50, 35, 8, 3, 0}, - { 24, 51, 36, 8, 3, 0}, { 24, 52, 37, 8, 3, 0}, { 24, 53, 37, 8, 3, 0}, { 24, 53, 38, 8, 3, 0}, { 24, 54, 39, 8, 3, 0}, - { 24, 55, 40, 8, 3, 0}, { 25, 56, 41, 8, 3, 0}, { 25, 56, 41, 8, 3, 0}, { 25, 57, 42, 8, 3, 0}, { 25, 58, 43, 8, 3, 0}, - { 25, 58, 44, 8, 3, 0}, { 25, 59, 45, 8, 3, 0}, { 25, 60, 46, 8, 3, 0}, { 26, 61, 46, 8, 3, 0}, { 26, 61, 47, 8, 3, 0}, - { 26, 62, 48, 8, 3, 0}, { 26, 63, 49, 8, 3, 0}, { 26, 63, 50, 8, 3, 0}, { 26, 64, 51, 8, 3, 0}, { 26, 65, 52, 8, 3, 0}, - { 26, 65, 53, 8, 3, 0}, { 27, 66, 53, 8, 3, 0}, { 27, 67, 54, 8, 3, 0}, { 27, 67, 55, 8, 3, 0}, { 27, 68, 56, 8, 4, 0}, - { 27, 69, 57, 8, 4, 0}, { 27, 69, 58, 8, 4, 0}, { 27, 70, 59, 8, 4, 0}, { 27, 70, 60, 8, 4, 0}, { 28, 71, 61, 8, 4, 0}, - { 28, 72, 62, 8, 4, 0}, { 28, 72, 63, 8, 4, 0}, { 28, 73, 64, 8, 4, 0}, { 28, 74, 65, 8, 4, 0}, { 28, 74, 66, 8, 4, 0}, - { 28, 75, 67, 8, 4, 0}, { 29, 75, 68, 8, 4, 0}, { 29, 76, 69, 8, 4, 0}, { 29, 76, 70, 8, 4, 0}, { 29, 77, 71, 8, 4, 0}, - { 29, 77, 72, 8, 4, 0}, { 29, 78, 73, 8, 4, 0}, { 29, 79, 74, 8, 4, 0}, { 29, 79, 75, 8, 4, 0}, { 30, 80, 76, 8, 4, 0}, - { 30, 80, 77, 8, 4, 0}, { 30, 81, 78, 8, 4, 0}, { 30, 81, 79, 8, 4, 0}, { 30, 82, 80, 8, 4, 0}, { 30, 82, 81, 8, 4, 0}, - { 30, 82, 82, 8, 4, 0}, { 30, 83, 83, 8, 4, 0}, { 31, 83, 84, 8, 4, 0}, { 31, 84, 86, 8, 4, 0}, { 31, 84, 87, 8, 4, 0}, - { 31, 85, 88, 8, 4, 0}, { 31, 85, 89, 8, 4, 0}, { 31, 85, 90, 8, 4, 0}, { 31, 86, 91, 8, 9, 0}, { 32, 86, 92, 8, 9, 0}, - { 32, 87, 93, 8, 9, 0}, { 32, 87, 94, 8, 9, 0}, { 32, 87, 96, 8, 9, 0}, { 32, 88, 97, 8, 9, 0}, { 32, 88, 98, 8, 9, 0}, - { 32, 88, 99, 8, 9, 0}, { 32, 89, 100, 8, 9, 0}, { 33, 89, 101, 8, 9, 0}, { 33, 89, 102, 8, 9, 0}, { 33, 90, 104, 8, 9, 0}, - { 33, 90, 105, 8, 9, 0}, { 33, 90, 106, 8, 9, 0}, { 33, 90, 107, 8, 9, 0}, { 33, 91, 108, 8, 9, 0}, { 33, 91, 109, 8, 9, 0}, - { 34, 91, 111, 8, 9, 0}, { 34, 91, 112, 8, 9, 0}, { 34, 92, 113, 8, 9, 0}, { 34, 92, 114, 8, 9, 0}, { 34, 92, 115, 8, 9, 0}, - { 34, 92, 117, 8, 9, 0}, { 34, 92, 118, 8, 9, 0}, { 35, 92, 119, 8, 10, 0}, { 35, 92, 120, 8, 10, 0}, { 35, 93, 121, 8, 10, 0}, - { 35, 93, 123, 8, 10, 0}, { 35, 93, 124, 8, 10, 0}, { 35, 93, 125, 8, 10, 0}, { 35, 93, 126, 8, 10, 0}, { 35, 93, 127, 8, 10, 0}, - { 36, 93, 129, 8, 10, 0}, { 36, 93, 130, 8, 10, 0}, { 36, 93, 131, 8, 10, 0}, { 36, 93, 132, 8, 10, 0}, { 36, 93, 134, 8, 10, 0}, - { 36, 92, 135, 8, 10, 0}, { 36, 92, 136, 8, 10, 0}, { 36, 92, 137, 8, 11, 0}, { 37, 92, 138, 8, 11, 0}, { 37, 92, 140, 8, 11, 0}, - { 37, 92, 141, 8, 11, 0}, { 37, 92, 142, 8, 11, 0}, { 37, 91, 143, 8, 11, 0}, { 37, 91, 144, 8, 11, 0}, { 37, 91, 145, 8, 11, 0}, - { 38, 91, 147, 8, 11, 0}, { 38, 90, 148, 8, 11, 0}, { 38, 90, 149, 8, 11, 0}, { 38, 90, 150, 8, 11, 0}, { 38, 90, 151, 8, 11, 0}, - { 38, 89, 152, 8, 11, 0}, { 38, 89, 154, 8, 11, 0}, { 38, 88, 155, 8, 11, 0}, { 39, 88, 156, 8, 12, 0}, { 39, 88, 157, 8, 12, 0}, - { 39, 87, 158, 8, 12, 0}, { 39, 87, 159, 8, 12, 0}, { 39, 86, 160, 8, 12, 0}, { 39, 86, 161, 8, 12, 0}, { 39, 86, 162, 8, 12, 0}, - { 40, 85, 163, 8, 12, 0}, { 40, 85, 165, 8, 12, 0}, { 40, 84, 166, 8, 12, 0}, { 40, 84, 167, 8, 12, 0}, { 40, 83, 168, 8, 12, 0}, - { 40, 82, 169, 8, 12, 0}, { 40, 82, 170, 8, 12, 0}, { 40, 81, 171, 8, 12, 0}, { 41, 81, 172, 8, 12, 0}, { 41, 80, 173, 8, 13, 0}, - { 41, 80, 174, 8, 13, 0}, { 41, 79, 174, 8, 13, 0}, { 41, 78, 175, 8, 13, 0}, { 41, 78, 176, 8, 13, 0}, { 41, 77, 177, 8, 13, 0}, - { 41, 76, 178, 8, 13, 0}, { 42, 76, 179, 8, 13, 0}, { 42, 75, 180, 8, 13, 0}, { 42, 74, 181, 8, 13, 0}, { 42, 73, 182, 8, 13, 0}, - { 42, 73, 182, 8, 13, 0}, { 42, 72, 183, 8, 13, 0}, { 42, 71, 184, 8, 13, 0}, { 43, 71, 185, 8, 13, 0}, { 43, 70, 186, 8, 13, 0}, - { 43, 69, 186, 8, 13, 0}, { 43, 68, 187, 8, 14, 0}, { 43, 67, 188, 8, 14, 0}, { 43, 67, 188, 8, 14, 0}, { 43, 66, 189, 8, 14, 0}, - { 43, 65, 190, 8, 14, 0}, { 44, 64, 190, 8, 14, 0}, { 44, 63, 191, 8, 14, 0}, { 44, 62, 192, 8, 14, 0}, { 44, 62, 192, 8, 14, 0}, - { 44, 61, 193, 8, 14, 0}, { 44, 60, 193, 8, 14, 0}, { 44, 59, 194, 8, 14, 0}, { 44, 58, 195, 8, 14, 0}, { 45, 57, 195, 8, 14, 0}, - { 45, 56, 196, 8, 14, 0}, { 45, 55, 196, 8, 14, 0}, { 45, 54, 196, 8, 15, 0}, { 45, 53, 197, 8, 15, 0}, { 45, 53, 197, 8, 15, 0}, - { 45, 52, 198, 8, 15, 0}, { 46, 51, 198, 8, 15, 0}, { 46, 50, 198, 8, 15, 0}, { 46, 49, 199, 8, 15, 0}, { 46, 48, 199, 8, 15, 0}, - { 46, 47, 199, 8, 15, 0}, { 46, 46, 200, 8, 15, 0}, { 46, 45, 200, 8, 15, 0}, { 46, 44, 200, 8, 15, 0}, { 47, 43, 200, 8, 15, 0}, - { 47, 42, 201, 8, 15, 0}, { 47, 41, 201, 8, 15, 0}, { 47, 40, 201, 8, 15, 0}, { 47, 39, 201, 8, 16, 0}, { 47, 38, 201, 8, 16, 0}, - { 47, 37, 201, 8, 16, 0}, { 47, 36, 202, 8, 16, 0}, { 48, 35, 202, 8, 16, 0}, { 48, 34, 202, 8, 16, 0}, { 48, 33, 202, 8, 16, 0}, + {16, 0, -1, 8, 2, 0}, {16, 1, -1, 8, 2, 0}, {16, 2, 0, 8, 2, 0}, {16, 3, 0, 8, 2, 0}, {17, 4, 1, 8, 2, 0}, + {17, 5, 1, 8, 2, 0}, {17, 6, 2, 8, 2, 0}, {17, 6, 2, 8, 2, 0}, {17, 7, 3, 8, 2, 0}, {17, 8, 3, 8, 2, 0}, + {17, 9, 4, 8, 2, 0}, {17, 10, 4, 8, 2, 0}, {18, 11, 5, 8, 2, 0}, {18, 12, 5, 8, 2, 0}, {18, 13, 6, 8, 2, 0}, + {18, 14, 6, 8, 2, 0}, {18, 14, 7, 8, 2, 0}, {18, 15, 7, 8, 2, 0}, {18, 16, 8, 8, 2, 0}, {18, 17, 9, 8, 2, 0}, + {19, 18, 9, 8, 2, 0}, {19, 19, 10, 8, 2, 0}, {19, 20, 10, 8, 2, 0}, {19, 21, 11, 8, 2, 0}, {19, 21, 11, 8, 2, 0}, + {19, 22, 12, 8, 2, 0}, {19, 23, 13, 8, 2, 0}, {20, 24, 13, 8, 2, 0}, {20, 25, 14, 8, 2, 0}, {20, 26, 14, 8, 2, 0}, + {20, 27, 15, 8, 2, 0}, {20, 28, 16, 8, 2, 0}, {20, 28, 16, 8, 2, 0}, {20, 29, 17, 8, 2, 0}, {20, 30, 17, 8, 3, 0}, + {21, 31, 18, 8, 3, 0}, {21, 32, 19, 8, 3, 0}, {21, 33, 19, 8, 3, 0}, {21, 33, 20, 8, 3, 0}, {21, 34, 21, 8, 3, 0}, + {21, 35, 21, 8, 3, 0}, {21, 36, 22, 8, 3, 0}, {21, 37, 23, 8, 3, 0}, {22, 38, 23, 8, 3, 0}, {22, 38, 24, 8, 3, 0}, + {22, 39, 25, 8, 3, 0}, {22, 40, 25, 8, 3, 0}, {22, 41, 26, 8, 3, 0}, {22, 42, 27, 8, 3, 0}, {22, 43, 28, 8, 3, 0}, + {23, 43, 28, 8, 3, 0}, {23, 44, 29, 8, 3, 0}, {23, 45, 30, 8, 3, 0}, {23, 46, 30, 8, 3, 0}, {23, 46, 31, 8, 3, 0}, + {23, 47, 32, 8, 3, 0}, {23, 48, 33, 8, 3, 0}, {23, 49, 33, 8, 3, 0}, {24, 50, 34, 8, 3, 0}, {24, 50, 35, 8, 3, 0}, + {24, 51, 36, 8, 3, 0}, {24, 52, 37, 8, 3, 0}, {24, 53, 37, 8, 3, 0}, {24, 53, 38, 8, 3, 0}, {24, 54, 39, 8, 3, 0}, + {24, 55, 40, 8, 3, 0}, {25, 56, 41, 8, 3, 0}, {25, 56, 41, 8, 3, 0}, {25, 57, 42, 8, 3, 0}, {25, 58, 43, 8, 3, 0}, + {25, 58, 44, 8, 3, 0}, {25, 59, 45, 8, 3, 0}, {25, 60, 46, 8, 3, 0}, {26, 61, 46, 8, 3, 0}, {26, 61, 47, 8, 3, 0}, + {26, 62, 48, 8, 3, 0}, {26, 63, 49, 8, 3, 0}, {26, 63, 50, 8, 3, 0}, {26, 64, 51, 8, 3, 0}, {26, 65, 52, 8, 3, 0}, + {26, 65, 53, 8, 3, 0}, {27, 66, 53, 8, 3, 0}, {27, 67, 54, 8, 3, 0}, {27, 67, 55, 8, 3, 0}, {27, 68, 56, 8, 4, 0}, + {27, 69, 57, 8, 4, 0}, {27, 69, 58, 8, 4, 0}, {27, 70, 59, 8, 4, 0}, {27, 70, 60, 8, 4, 0}, {28, 71, 61, 8, 4, 0}, + {28, 72, 62, 8, 4, 0}, {28, 72, 63, 8, 4, 0}, {28, 73, 64, 8, 4, 0}, {28, 74, 65, 8, 4, 0}, {28, 74, 66, 8, 4, 0}, + {28, 75, 67, 8, 4, 0}, {29, 75, 68, 8, 4, 0}, {29, 76, 69, 8, 4, 0}, {29, 76, 70, 8, 4, 0}, {29, 77, 71, 8, 4, 0}, + {29, 77, 72, 8, 4, 0}, {29, 78, 73, 8, 4, 0}, {29, 79, 74, 8, 4, 0}, {29, 79, 75, 8, 4, 0}, {30, 80, 76, 8, 4, 0}, + {30, 80, 77, 8, 4, 0}, {30, 81, 78, 8, 4, 0}, {30, 81, 79, 8, 4, 0}, {30, 82, 80, 8, 4, 0}, {30, 82, 81, 8, 4, 0}, + {30, 82, 82, 8, 4, 0}, {30, 83, 83, 8, 4, 0}, {31, 83, 84, 8, 4, 0}, {31, 84, 86, 8, 4, 0}, {31, 84, 87, 8, 4, 0}, + {31, 85, 88, 8, 4, 0}, {31, 85, 89, 8, 4, 0}, {31, 85, 90, 8, 4, 0}, {31, 86, 91, 8, 9, 0}, {32, 86, 92, 8, 9, 0}, + {32, 87, 93, 8, 9, 0}, {32, 87, 94, 8, 9, 0}, {32, 87, 96, 8, 9, 0}, {32, 88, 97, 8, 9, 0}, {32, 88, 98, 8, 9, 0}, + {32, 88, 99, 8, 9, 0}, {32, 89, 100, 8, 9, 0}, {33, 89, 101, 8, 9, 0}, {33, 89, 102, 8, 9, 0}, {33, 90, 104, 8, 9, 0}, + {33, 90, 105, 8, 9, 0}, {33, 90, 106, 8, 9, 0}, {33, 90, 107, 8, 9, 0}, {33, 91, 108, 8, 9, 0}, {33, 91, 109, 8, 9, 0}, + {34, 91, 111, 8, 9, 0}, {34, 91, 112, 8, 9, 0}, {34, 92, 113, 8, 9, 0}, {34, 92, 114, 8, 9, 0}, {34, 92, 115, 8, 9, 0}, + {34, 92, 117, 8, 9, 0}, {34, 92, 118, 8, 9, 0}, {35, 92, 119, 8, 10, 0}, {35, 92, 120, 8, 10, 0}, {35, 93, 121, 8, 10, 0}, + {35, 93, 123, 8, 10, 0}, {35, 93, 124, 8, 10, 0}, {35, 93, 125, 8, 10, 0}, {35, 93, 126, 8, 10, 0}, {35, 93, 127, 8, 10, 0}, + {36, 93, 129, 8, 10, 0}, {36, 93, 130, 8, 10, 0}, {36, 93, 131, 8, 10, 0}, {36, 93, 132, 8, 10, 0}, {36, 93, 134, 8, 10, 0}, + {36, 92, 135, 8, 10, 0}, {36, 92, 136, 8, 10, 0}, {36, 92, 137, 8, 11, 0}, {37, 92, 138, 8, 11, 0}, {37, 92, 140, 8, 11, 0}, + {37, 92, 141, 8, 11, 0}, {37, 92, 142, 8, 11, 0}, {37, 91, 143, 8, 11, 0}, {37, 91, 144, 8, 11, 0}, {37, 91, 145, 8, 11, 0}, + {38, 91, 147, 8, 11, 0}, {38, 90, 148, 8, 11, 0}, {38, 90, 149, 8, 11, 0}, {38, 90, 150, 8, 11, 0}, {38, 90, 151, 8, 11, 0}, + {38, 89, 152, 8, 11, 0}, {38, 89, 154, 8, 11, 0}, {38, 88, 155, 8, 11, 0}, {39, 88, 156, 8, 12, 0}, {39, 88, 157, 8, 12, 0}, + {39, 87, 158, 8, 12, 0}, {39, 87, 159, 8, 12, 0}, {39, 86, 160, 8, 12, 0}, {39, 86, 161, 8, 12, 0}, {39, 86, 162, 8, 12, 0}, + {40, 85, 163, 8, 12, 0}, {40, 85, 165, 8, 12, 0}, {40, 84, 166, 8, 12, 0}, {40, 84, 167, 8, 12, 0}, {40, 83, 168, 8, 12, 0}, + {40, 82, 169, 8, 12, 0}, {40, 82, 170, 8, 12, 0}, {40, 81, 171, 8, 12, 0}, {41, 81, 172, 8, 12, 0}, {41, 80, 173, 8, 13, 0}, + {41, 80, 174, 8, 13, 0}, {41, 79, 174, 8, 13, 0}, {41, 78, 175, 8, 13, 0}, {41, 78, 176, 8, 13, 0}, {41, 77, 177, 8, 13, 0}, + {41, 76, 178, 8, 13, 0}, {42, 76, 179, 8, 13, 0}, {42, 75, 180, 8, 13, 0}, {42, 74, 181, 8, 13, 0}, {42, 73, 182, 8, 13, 0}, + {42, 73, 182, 8, 13, 0}, {42, 72, 183, 8, 13, 0}, {42, 71, 184, 8, 13, 0}, {43, 71, 185, 8, 13, 0}, {43, 70, 186, 8, 13, 0}, + {43, 69, 186, 8, 13, 0}, {43, 68, 187, 8, 14, 0}, {43, 67, 188, 8, 14, 0}, {43, 67, 188, 8, 14, 0}, {43, 66, 189, 8, 14, 0}, + {43, 65, 190, 8, 14, 0}, {44, 64, 190, 8, 14, 0}, {44, 63, 191, 8, 14, 0}, {44, 62, 192, 8, 14, 0}, {44, 62, 192, 8, 14, 0}, + {44, 61, 193, 8, 14, 0}, {44, 60, 193, 8, 14, 0}, {44, 59, 194, 8, 14, 0}, {44, 58, 195, 8, 14, 0}, {45, 57, 195, 8, 14, 0}, + {45, 56, 196, 8, 14, 0}, {45, 55, 196, 8, 14, 0}, {45, 54, 196, 8, 15, 0}, {45, 53, 197, 8, 15, 0}, {45, 53, 197, 8, 15, 0}, + {45, 52, 198, 8, 15, 0}, {46, 51, 198, 8, 15, 0}, {46, 50, 198, 8, 15, 0}, {46, 49, 199, 8, 15, 0}, {46, 48, 199, 8, 15, 0}, + {46, 47, 199, 8, 15, 0}, {46, 46, 200, 8, 15, 0}, {46, 45, 200, 8, 15, 0}, {46, 44, 200, 8, 15, 0}, {47, 43, 200, 8, 15, 0}, + {47, 42, 201, 8, 15, 0}, {47, 41, 201, 8, 15, 0}, {47, 40, 201, 8, 15, 0}, {47, 39, 201, 8, 16, 0}, {47, 38, 201, 8, 16, 0}, + {47, 37, 201, 8, 16, 0}, {47, 36, 202, 8, 16, 0}, {48, 35, 202, 8, 16, 0}, {48, 34, 202, 8, 16, 0}, {48, 33, 202, 8, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopUp2, { - { 0, 16, -1, 16, 2, 0}, { 1, 16, -1, 16, 2, 0}, { 2, 16, 0, 16, 2, 0}, { 3, 16, 0, 16, 2, 0}, { 4, 15, 1, 16, 2, 0}, - { 5, 15, 1, 16, 2, 0}, { 6, 15, 2, 16, 2, 0}, { 6, 15, 2, 16, 2, 0}, { 7, 15, 3, 16, 2, 0}, { 8, 15, 3, 16, 2, 0}, - { 9, 15, 4, 16, 2, 0}, { 10, 15, 4, 16, 2, 0}, { 11, 14, 5, 16, 2, 0}, { 12, 14, 5, 16, 2, 0}, { 13, 14, 6, 16, 2, 0}, - { 14, 14, 6, 16, 2, 0}, { 14, 14, 7, 16, 2, 0}, { 15, 14, 7, 16, 2, 0}, { 16, 14, 8, 16, 2, 0}, { 17, 14, 9, 16, 2, 0}, - { 18, 13, 9, 16, 2, 0}, { 19, 13, 10, 16, 2, 0}, { 20, 13, 10, 16, 2, 0}, { 21, 13, 11, 16, 2, 0}, { 21, 13, 11, 16, 2, 0}, - { 22, 13, 12, 16, 2, 0}, { 23, 13, 13, 16, 2, 0}, { 24, 12, 13, 16, 2, 0}, { 25, 12, 14, 16, 2, 0}, { 26, 12, 14, 16, 2, 0}, - { 27, 12, 15, 16, 2, 0}, { 28, 12, 16, 16, 2, 0}, { 28, 12, 16, 16, 2, 0}, { 29, 12, 17, 16, 2, 0}, { 30, 12, 17, 16, 3, 0}, - { 31, 11, 18, 16, 3, 0}, { 32, 11, 19, 16, 3, 0}, { 33, 11, 19, 16, 3, 0}, { 33, 11, 20, 16, 3, 0}, { 34, 11, 21, 16, 3, 0}, - { 35, 11, 21, 16, 3, 0}, { 36, 11, 22, 16, 3, 0}, { 37, 11, 23, 16, 3, 0}, { 38, 10, 23, 16, 3, 0}, { 38, 10, 24, 16, 3, 0}, - { 39, 10, 25, 16, 3, 0}, { 40, 10, 25, 16, 3, 0}, { 41, 10, 26, 16, 3, 0}, { 42, 10, 27, 16, 3, 0}, { 43, 10, 28, 16, 3, 0}, - { 43, 9, 28, 16, 3, 0}, { 44, 9, 29, 16, 3, 0}, { 45, 9, 30, 16, 3, 0}, { 46, 9, 30, 16, 3, 0}, { 46, 9, 31, 16, 3, 0}, - { 47, 9, 32, 16, 3, 0}, { 48, 9, 33, 16, 3, 0}, { 49, 9, 33, 16, 3, 0}, { 50, 8, 34, 16, 3, 0}, { 50, 8, 35, 16, 3, 0}, - { 51, 8, 36, 16, 3, 0}, { 52, 8, 37, 16, 3, 0}, { 53, 8, 37, 16, 3, 0}, { 53, 8, 38, 16, 3, 0}, { 54, 8, 39, 16, 3, 0}, - { 55, 8, 40, 16, 3, 0}, { 56, 7, 41, 16, 3, 0}, { 56, 7, 41, 16, 3, 0}, { 57, 7, 42, 16, 3, 0}, { 58, 7, 43, 16, 3, 0}, - { 58, 7, 44, 16, 3, 0}, { 59, 7, 45, 16, 3, 0}, { 60, 7, 46, 16, 3, 0}, { 61, 6, 46, 16, 3, 0}, { 61, 6, 47, 16, 3, 0}, - { 62, 6, 48, 16, 3, 0}, { 63, 6, 49, 16, 3, 0}, { 63, 6, 50, 16, 3, 0}, { 64, 6, 51, 16, 3, 0}, { 65, 6, 52, 16, 3, 0}, - { 65, 6, 53, 16, 3, 0}, { 66, 5, 53, 16, 3, 0}, { 67, 5, 54, 16, 3, 0}, { 67, 5, 55, 16, 3, 0}, { 68, 5, 56, 16, 4, 0}, - { 69, 5, 57, 16, 4, 0}, { 69, 5, 58, 16, 4, 0}, { 70, 5, 59, 16, 4, 0}, { 70, 5, 60, 16, 4, 0}, { 71, 4, 61, 16, 4, 0}, - { 72, 4, 62, 16, 4, 0}, { 72, 4, 63, 16, 4, 0}, { 73, 4, 64, 16, 4, 0}, { 74, 4, 65, 16, 4, 0}, { 74, 4, 66, 16, 4, 0}, - { 75, 4, 67, 16, 4, 0}, { 75, 3, 68, 16, 4, 0}, { 76, 3, 69, 16, 4, 0}, { 76, 3, 70, 16, 4, 0}, { 77, 3, 71, 16, 4, 0}, - { 77, 3, 72, 16, 4, 0}, { 78, 3, 73, 16, 4, 0}, { 79, 3, 74, 16, 4, 0}, { 79, 3, 75, 16, 4, 0}, { 80, 2, 76, 16, 4, 0}, - { 80, 2, 77, 16, 4, 0}, { 81, 2, 78, 16, 4, 0}, { 81, 2, 79, 16, 4, 0}, { 82, 2, 80, 16, 4, 0}, { 82, 2, 81, 16, 4, 0}, - { 82, 2, 82, 16, 4, 0}, { 83, 2, 83, 16, 4, 0}, { 83, 1, 84, 16, 4, 0}, { 84, 1, 86, 16, 4, 0}, { 84, 1, 87, 16, 4, 0}, - { 85, 1, 88, 16, 4, 0}, { 85, 1, 89, 16, 4, 0}, { 85, 1, 90, 16, 4, 0}, { 86, 1, 91, 16, 9, 0}, { 86, 0, 92, 16, 9, 0}, - { 87, 0, 93, 16, 9, 0}, { 87, 0, 94, 16, 9, 0}, { 87, 0, 96, 16, 9, 0}, { 88, 0, 97, 16, 9, 0}, { 88, 0, 98, 16, 9, 0}, - { 88, 0, 99, 16, 9, 0}, { 89, 0, 100, 16, 9, 0}, { 89, -1, 101, 16, 9, 0}, { 89, -1, 102, 16, 9, 0}, { 90, -1, 104, 16, 9, 0}, - { 90, -1, 105, 16, 9, 0}, { 90, -1, 106, 16, 9, 0}, { 90, -1, 107, 16, 9, 0}, { 91, -1, 108, 16, 9, 0}, { 91, -1, 109, 16, 9, 0}, - { 91, -2, 111, 16, 9, 0}, { 91, -2, 112, 16, 9, 0}, { 92, -2, 113, 16, 9, 0}, { 92, -2, 114, 16, 9, 0}, { 92, -2, 115, 16, 9, 0}, - { 92, -2, 117, 16, 9, 0}, { 92, -2, 118, 16, 9, 0}, { 92, -3, 119, 16, 10, 0}, { 92, -3, 120, 16, 10, 0}, { 93, -3, 121, 16, 10, 0}, - { 93, -3, 123, 16, 10, 0}, { 93, -3, 124, 16, 10, 0}, { 93, -3, 125, 16, 10, 0}, { 93, -3, 126, 16, 10, 0}, { 93, -3, 127, 16, 10, 0}, - { 93, -4, 129, 16, 10, 0}, { 93, -4, 130, 16, 10, 0}, { 93, -4, 131, 16, 10, 0}, { 93, -4, 132, 16, 10, 0}, { 93, -4, 134, 16, 10, 0}, - { 92, -4, 135, 16, 10, 0}, { 92, -4, 136, 16, 10, 0}, { 92, -4, 137, 16, 11, 0}, { 92, -5, 138, 16, 11, 0}, { 92, -5, 140, 16, 11, 0}, - { 92, -5, 141, 16, 11, 0}, { 92, -5, 142, 16, 11, 0}, { 91, -5, 143, 16, 11, 0}, { 91, -5, 144, 16, 11, 0}, { 91, -5, 145, 16, 11, 0}, - { 91, -6, 147, 16, 11, 0}, { 90, -6, 148, 16, 11, 0}, { 90, -6, 149, 16, 11, 0}, { 90, -6, 150, 16, 11, 0}, { 90, -6, 151, 16, 11, 0}, - { 89, -6, 152, 16, 11, 0}, { 89, -6, 154, 16, 11, 0}, { 88, -6, 155, 16, 11, 0}, { 88, -7, 156, 16, 12, 0}, { 88, -7, 157, 16, 12, 0}, - { 87, -7, 158, 16, 12, 0}, { 87, -7, 159, 16, 12, 0}, { 86, -7, 160, 16, 12, 0}, { 86, -7, 161, 16, 12, 0}, { 86, -7, 162, 16, 12, 0}, - { 85, -8, 163, 16, 12, 0}, { 85, -8, 165, 16, 12, 0}, { 84, -8, 166, 16, 12, 0}, { 84, -8, 167, 16, 12, 0}, { 83, -8, 168, 16, 12, 0}, - { 82, -8, 169, 16, 12, 0}, { 82, -8, 170, 16, 12, 0}, { 81, -8, 171, 16, 12, 0}, { 81, -9, 172, 16, 12, 0}, { 80, -9, 173, 16, 13, 0}, - { 80, -9, 174, 16, 13, 0}, { 79, -9, 174, 16, 13, 0}, { 78, -9, 175, 16, 13, 0}, { 78, -9, 176, 16, 13, 0}, { 77, -9, 177, 16, 13, 0}, - { 76, -9, 178, 16, 13, 0}, { 76, -10, 179, 16, 13, 0}, { 75, -10, 180, 16, 13, 0}, { 74, -10, 181, 16, 13, 0}, { 73, -10, 182, 16, 13, 0}, - { 73, -10, 182, 16, 13, 0}, { 72, -10, 183, 16, 13, 0}, { 71, -10, 184, 16, 13, 0}, { 71, -11, 185, 16, 13, 0}, { 70, -11, 186, 16, 13, 0}, - { 69, -11, 186, 16, 13, 0}, { 68, -11, 187, 16, 14, 0}, { 67, -11, 188, 16, 14, 0}, { 67, -11, 188, 16, 14, 0}, { 66, -11, 189, 16, 14, 0}, - { 65, -11, 190, 16, 14, 0}, { 64, -12, 190, 16, 14, 0}, { 63, -12, 191, 16, 14, 0}, { 62, -12, 192, 16, 14, 0}, { 62, -12, 192, 16, 14, 0}, - { 61, -12, 193, 16, 14, 0}, { 60, -12, 193, 16, 14, 0}, { 59, -12, 194, 16, 14, 0}, { 58, -12, 195, 16, 14, 0}, { 57, -13, 195, 16, 14, 0}, - { 56, -13, 196, 16, 14, 0}, { 55, -13, 196, 16, 14, 0}, { 54, -13, 196, 16, 15, 0}, { 53, -13, 197, 16, 15, 0}, { 53, -13, 197, 16, 15, 0}, - { 52, -13, 198, 16, 15, 0}, { 51, -14, 198, 16, 15, 0}, { 50, -14, 198, 16, 15, 0}, { 49, -14, 199, 16, 15, 0}, { 48, -14, 199, 16, 15, 0}, - { 47, -14, 199, 16, 15, 0}, { 46, -14, 200, 16, 15, 0}, { 45, -14, 200, 16, 15, 0}, { 44, -14, 200, 16, 15, 0}, { 43, -15, 200, 16, 15, 0}, - { 42, -15, 201, 16, 15, 0}, { 41, -15, 201, 16, 15, 0}, { 40, -15, 201, 16, 15, 0}, { 39, -15, 201, 16, 16, 0}, { 38, -15, 201, 16, 16, 0}, - { 37, -15, 201, 16, 16, 0}, { 36, -15, 202, 16, 16, 0}, { 35, -16, 202, 16, 16, 0}, { 34, -16, 202, 16, 16, 0}, { 33, -16, 202, 16, 16, 0}, + {0, 16, -1, 16, 2, 0}, {1, 16, -1, 16, 2, 0}, {2, 16, 0, 16, 2, 0}, {3, 16, 0, 16, 2, 0}, {4, 15, 1, 16, 2, 0}, + {5, 15, 1, 16, 2, 0}, {6, 15, 2, 16, 2, 0}, {6, 15, 2, 16, 2, 0}, {7, 15, 3, 16, 2, 0}, {8, 15, 3, 16, 2, 0}, + {9, 15, 4, 16, 2, 0}, {10, 15, 4, 16, 2, 0}, {11, 14, 5, 16, 2, 0}, {12, 14, 5, 16, 2, 0}, {13, 14, 6, 16, 2, 0}, + {14, 14, 6, 16, 2, 0}, {14, 14, 7, 16, 2, 0}, {15, 14, 7, 16, 2, 0}, {16, 14, 8, 16, 2, 0}, {17, 14, 9, 16, 2, 0}, + {18, 13, 9, 16, 2, 0}, {19, 13, 10, 16, 2, 0}, {20, 13, 10, 16, 2, 0}, {21, 13, 11, 16, 2, 0}, {21, 13, 11, 16, 2, 0}, + {22, 13, 12, 16, 2, 0}, {23, 13, 13, 16, 2, 0}, {24, 12, 13, 16, 2, 0}, {25, 12, 14, 16, 2, 0}, {26, 12, 14, 16, 2, 0}, + {27, 12, 15, 16, 2, 0}, {28, 12, 16, 16, 2, 0}, {28, 12, 16, 16, 2, 0}, {29, 12, 17, 16, 2, 0}, {30, 12, 17, 16, 3, 0}, + {31, 11, 18, 16, 3, 0}, {32, 11, 19, 16, 3, 0}, {33, 11, 19, 16, 3, 0}, {33, 11, 20, 16, 3, 0}, {34, 11, 21, 16, 3, 0}, + {35, 11, 21, 16, 3, 0}, {36, 11, 22, 16, 3, 0}, {37, 11, 23, 16, 3, 0}, {38, 10, 23, 16, 3, 0}, {38, 10, 24, 16, 3, 0}, + {39, 10, 25, 16, 3, 0}, {40, 10, 25, 16, 3, 0}, {41, 10, 26, 16, 3, 0}, {42, 10, 27, 16, 3, 0}, {43, 10, 28, 16, 3, 0}, + {43, 9, 28, 16, 3, 0}, {44, 9, 29, 16, 3, 0}, {45, 9, 30, 16, 3, 0}, {46, 9, 30, 16, 3, 0}, {46, 9, 31, 16, 3, 0}, + {47, 9, 32, 16, 3, 0}, {48, 9, 33, 16, 3, 0}, {49, 9, 33, 16, 3, 0}, {50, 8, 34, 16, 3, 0}, {50, 8, 35, 16, 3, 0}, + {51, 8, 36, 16, 3, 0}, {52, 8, 37, 16, 3, 0}, {53, 8, 37, 16, 3, 0}, {53, 8, 38, 16, 3, 0}, {54, 8, 39, 16, 3, 0}, + {55, 8, 40, 16, 3, 0}, {56, 7, 41, 16, 3, 0}, {56, 7, 41, 16, 3, 0}, {57, 7, 42, 16, 3, 0}, {58, 7, 43, 16, 3, 0}, + {58, 7, 44, 16, 3, 0}, {59, 7, 45, 16, 3, 0}, {60, 7, 46, 16, 3, 0}, {61, 6, 46, 16, 3, 0}, {61, 6, 47, 16, 3, 0}, + {62, 6, 48, 16, 3, 0}, {63, 6, 49, 16, 3, 0}, {63, 6, 50, 16, 3, 0}, {64, 6, 51, 16, 3, 0}, {65, 6, 52, 16, 3, 0}, + {65, 6, 53, 16, 3, 0}, {66, 5, 53, 16, 3, 0}, {67, 5, 54, 16, 3, 0}, {67, 5, 55, 16, 3, 0}, {68, 5, 56, 16, 4, 0}, + {69, 5, 57, 16, 4, 0}, {69, 5, 58, 16, 4, 0}, {70, 5, 59, 16, 4, 0}, {70, 5, 60, 16, 4, 0}, {71, 4, 61, 16, 4, 0}, + {72, 4, 62, 16, 4, 0}, {72, 4, 63, 16, 4, 0}, {73, 4, 64, 16, 4, 0}, {74, 4, 65, 16, 4, 0}, {74, 4, 66, 16, 4, 0}, + {75, 4, 67, 16, 4, 0}, {75, 3, 68, 16, 4, 0}, {76, 3, 69, 16, 4, 0}, {76, 3, 70, 16, 4, 0}, {77, 3, 71, 16, 4, 0}, + {77, 3, 72, 16, 4, 0}, {78, 3, 73, 16, 4, 0}, {79, 3, 74, 16, 4, 0}, {79, 3, 75, 16, 4, 0}, {80, 2, 76, 16, 4, 0}, + {80, 2, 77, 16, 4, 0}, {81, 2, 78, 16, 4, 0}, {81, 2, 79, 16, 4, 0}, {82, 2, 80, 16, 4, 0}, {82, 2, 81, 16, 4, 0}, + {82, 2, 82, 16, 4, 0}, {83, 2, 83, 16, 4, 0}, {83, 1, 84, 16, 4, 0}, {84, 1, 86, 16, 4, 0}, {84, 1, 87, 16, 4, 0}, + {85, 1, 88, 16, 4, 0}, {85, 1, 89, 16, 4, 0}, {85, 1, 90, 16, 4, 0}, {86, 1, 91, 16, 9, 0}, {86, 0, 92, 16, 9, 0}, + {87, 0, 93, 16, 9, 0}, {87, 0, 94, 16, 9, 0}, {87, 0, 96, 16, 9, 0}, {88, 0, 97, 16, 9, 0}, {88, 0, 98, 16, 9, 0}, + {88, 0, 99, 16, 9, 0}, {89, 0, 100, 16, 9, 0}, {89, -1, 101, 16, 9, 0}, {89, -1, 102, 16, 9, 0}, {90, -1, 104, 16, 9, 0}, + {90, -1, 105, 16, 9, 0}, {90, -1, 106, 16, 9, 0}, {90, -1, 107, 16, 9, 0}, {91, -1, 108, 16, 9, 0}, {91, -1, 109, 16, 9, 0}, + {91, -2, 111, 16, 9, 0}, {91, -2, 112, 16, 9, 0}, {92, -2, 113, 16, 9, 0}, {92, -2, 114, 16, 9, 0}, {92, -2, 115, 16, 9, 0}, + {92, -2, 117, 16, 9, 0}, {92, -2, 118, 16, 9, 0}, {92, -3, 119, 16, 10, 0}, {92, -3, 120, 16, 10, 0}, {93, -3, 121, 16, 10, 0}, + {93, -3, 123, 16, 10, 0}, {93, -3, 124, 16, 10, 0}, {93, -3, 125, 16, 10, 0}, {93, -3, 126, 16, 10, 0}, {93, -3, 127, 16, 10, 0}, + {93, -4, 129, 16, 10, 0}, {93, -4, 130, 16, 10, 0}, {93, -4, 131, 16, 10, 0}, {93, -4, 132, 16, 10, 0}, {93, -4, 134, 16, 10, 0}, + {92, -4, 135, 16, 10, 0}, {92, -4, 136, 16, 10, 0}, {92, -4, 137, 16, 11, 0}, {92, -5, 138, 16, 11, 0}, {92, -5, 140, 16, 11, 0}, + {92, -5, 141, 16, 11, 0}, {92, -5, 142, 16, 11, 0}, {91, -5, 143, 16, 11, 0}, {91, -5, 144, 16, 11, 0}, {91, -5, 145, 16, 11, 0}, + {91, -6, 147, 16, 11, 0}, {90, -6, 148, 16, 11, 0}, {90, -6, 149, 16, 11, 0}, {90, -6, 150, 16, 11, 0}, {90, -6, 151, 16, 11, 0}, + {89, -6, 152, 16, 11, 0}, {89, -6, 154, 16, 11, 0}, {88, -6, 155, 16, 11, 0}, {88, -7, 156, 16, 12, 0}, {88, -7, 157, 16, 12, 0}, + {87, -7, 158, 16, 12, 0}, {87, -7, 159, 16, 12, 0}, {86, -7, 160, 16, 12, 0}, {86, -7, 161, 16, 12, 0}, {86, -7, 162, 16, 12, 0}, + {85, -8, 163, 16, 12, 0}, {85, -8, 165, 16, 12, 0}, {84, -8, 166, 16, 12, 0}, {84, -8, 167, 16, 12, 0}, {83, -8, 168, 16, 12, 0}, + {82, -8, 169, 16, 12, 0}, {82, -8, 170, 16, 12, 0}, {81, -8, 171, 16, 12, 0}, {81, -9, 172, 16, 12, 0}, {80, -9, 173, 16, 13, 0}, + {80, -9, 174, 16, 13, 0}, {79, -9, 174, 16, 13, 0}, {78, -9, 175, 16, 13, 0}, {78, -9, 176, 16, 13, 0}, {77, -9, 177, 16, 13, 0}, + {76, -9, 178, 16, 13, 0}, {76, -10, 179, 16, 13, 0}, {75, -10, 180, 16, 13, 0}, {74, -10, 181, 16, 13, 0}, {73, -10, 182, 16, 13, 0}, + {73, -10, 182, 16, 13, 0}, {72, -10, 183, 16, 13, 0}, {71, -10, 184, 16, 13, 0}, {71, -11, 185, 16, 13, 0}, {70, -11, 186, 16, 13, 0}, + {69, -11, 186, 16, 13, 0}, {68, -11, 187, 16, 14, 0}, {67, -11, 188, 16, 14, 0}, {67, -11, 188, 16, 14, 0}, {66, -11, 189, 16, 14, 0}, + {65, -11, 190, 16, 14, 0}, {64, -12, 190, 16, 14, 0}, {63, -12, 191, 16, 14, 0}, {62, -12, 192, 16, 14, 0}, {62, -12, 192, 16, 14, 0}, + {61, -12, 193, 16, 14, 0}, {60, -12, 193, 16, 14, 0}, {59, -12, 194, 16, 14, 0}, {58, -12, 195, 16, 14, 0}, {57, -13, 195, 16, 14, 0}, + {56, -13, 196, 16, 14, 0}, {55, -13, 196, 16, 14, 0}, {54, -13, 196, 16, 15, 0}, {53, -13, 197, 16, 15, 0}, {53, -13, 197, 16, 15, 0}, + {52, -13, 198, 16, 15, 0}, {51, -14, 198, 16, 15, 0}, {50, -14, 198, 16, 15, 0}, {49, -14, 199, 16, 15, 0}, {48, -14, 199, 16, 15, 0}, + {47, -14, 199, 16, 15, 0}, {46, -14, 200, 16, 15, 0}, {45, -14, 200, 16, 15, 0}, {44, -14, 200, 16, 15, 0}, {43, -15, 200, 16, 15, 0}, + {42, -15, 201, 16, 15, 0}, {41, -15, 201, 16, 15, 0}, {40, -15, 201, 16, 15, 0}, {39, -15, 201, 16, 16, 0}, {38, -15, 201, 16, 16, 0}, + {37, -15, 201, 16, 16, 0}, {36, -15, 202, 16, 16, 0}, {35, -16, 202, 16, 16, 0}, {34, -16, 202, 16, 16, 0}, {33, -16, 202, 16, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopUp3, { - { 16, 31, -1, 24, 2, 0}, { 16, 30, 0, 24, 2, 0}, { 16, 29, 0, 24, 2, 0}, { 15, 28, 1, 24, 2, 0}, { 15, 27, 1, 24, 2, 0}, - { 15, 26, 2, 24, 2, 0}, { 15, 26, 2, 24, 2, 0}, { 15, 25, 3, 24, 2, 0}, { 15, 24, 3, 24, 2, 0}, { 15, 23, 4, 24, 2, 0}, - { 15, 22, 4, 24, 2, 0}, { 14, 21, 5, 24, 2, 0}, { 14, 20, 5, 24, 2, 0}, { 14, 19, 6, 24, 2, 0}, { 14, 18, 6, 24, 2, 0}, - { 14, 18, 7, 24, 2, 0}, { 14, 17, 7, 24, 2, 0}, { 14, 16, 8, 24, 2, 0}, { 14, 15, 9, 24, 2, 0}, { 13, 14, 9, 24, 2, 0}, - { 13, 13, 10, 24, 2, 0}, { 13, 12, 10, 24, 2, 0}, { 13, 11, 11, 24, 2, 0}, { 13, 11, 11, 24, 2, 0}, { 13, 10, 12, 24, 2, 0}, - { 13, 9, 13, 24, 2, 0}, { 12, 8, 13, 24, 2, 0}, { 12, 7, 14, 24, 2, 0}, { 12, 6, 14, 24, 2, 0}, { 12, 5, 15, 24, 2, 0}, - { 12, 4, 16, 24, 2, 0}, { 12, 4, 16, 24, 2, 0}, { 12, 3, 17, 24, 2, 0}, { 12, 2, 17, 24, 3, 0}, { 11, 1, 18, 24, 3, 0}, - { 11, 0, 19, 24, 3, 0}, { 11, -1, 19, 24, 3, 0}, { 11, -1, 20, 24, 3, 0}, { 11, -2, 21, 24, 3, 0}, { 11, -3, 21, 24, 3, 0}, - { 11, -4, 22, 24, 3, 0}, { 11, -5, 23, 24, 3, 0}, { 10, -6, 23, 24, 3, 0}, { 10, -6, 24, 24, 3, 0}, { 10, -7, 25, 24, 3, 0}, - { 10, -8, 25, 24, 3, 0}, { 10, -9, 26, 24, 3, 0}, { 10, -10, 27, 24, 3, 0}, { 10, -11, 28, 24, 3, 0}, { 9, -11, 28, 24, 3, 0}, - { 9, -12, 29, 24, 3, 0}, { 9, -13, 30, 24, 3, 0}, { 9, -14, 30, 24, 3, 0}, { 9, -14, 31, 24, 3, 0}, { 9, -15, 32, 24, 3, 0}, - { 9, -16, 33, 24, 3, 0}, { 9, -17, 33, 24, 3, 0}, { 8, -18, 34, 24, 3, 0}, { 8, -18, 35, 24, 3, 0}, { 8, -19, 36, 24, 3, 0}, - { 8, -20, 37, 24, 3, 0}, { 8, -21, 37, 24, 3, 0}, { 8, -21, 38, 24, 3, 0}, { 8, -22, 39, 24, 3, 0}, { 8, -23, 40, 24, 3, 0}, - { 7, -24, 41, 24, 3, 0}, { 7, -24, 41, 24, 3, 0}, { 7, -25, 42, 24, 3, 0}, { 7, -26, 43, 24, 3, 0}, { 7, -26, 44, 24, 3, 0}, - { 7, -27, 45, 24, 3, 0}, { 7, -28, 46, 24, 3, 0}, { 6, -29, 46, 24, 3, 0}, { 6, -29, 47, 24, 3, 0}, { 6, -30, 48, 24, 3, 0}, - { 6, -31, 49, 24, 3, 0}, { 6, -31, 50, 24, 3, 0}, { 6, -32, 51, 24, 3, 0}, { 6, -33, 52, 24, 3, 0}, { 6, -33, 53, 24, 3, 0}, - { 5, -34, 53, 24, 3, 0}, { 5, -35, 54, 24, 3, 0}, { 5, -35, 55, 24, 3, 0}, { 5, -36, 56, 24, 4, 0}, { 5, -37, 57, 24, 4, 0}, - { 5, -37, 58, 24, 4, 0}, { 5, -38, 59, 24, 4, 0}, { 5, -38, 60, 24, 4, 0}, { 4, -39, 61, 24, 4, 0}, { 4, -40, 62, 24, 4, 0}, - { 4, -40, 63, 24, 4, 0}, { 4, -41, 64, 24, 4, 0}, { 4, -42, 65, 24, 4, 0}, { 4, -42, 66, 24, 4, 0}, { 4, -43, 67, 24, 4, 0}, - { 3, -43, 68, 24, 4, 0}, { 3, -44, 69, 24, 4, 0}, { 3, -44, 70, 24, 4, 0}, { 3, -45, 71, 24, 4, 0}, { 3, -45, 72, 24, 4, 0}, - { 3, -46, 73, 24, 4, 0}, { 3, -47, 74, 24, 4, 0}, { 3, -47, 75, 24, 4, 0}, { 2, -48, 76, 24, 4, 0}, { 2, -48, 77, 24, 4, 0}, - { 2, -49, 78, 24, 4, 0}, { 2, -49, 79, 24, 4, 0}, { 2, -50, 80, 24, 4, 0}, { 2, -50, 81, 24, 4, 0}, { 2, -50, 82, 24, 4, 0}, - { 2, -51, 83, 24, 4, 0}, { 1, -51, 84, 24, 4, 0}, { 1, -52, 86, 24, 4, 0}, { 1, -52, 87, 24, 4, 0}, { 1, -53, 88, 24, 4, 0}, - { 1, -53, 89, 24, 4, 0}, { 1, -53, 90, 24, 4, 0}, { 1, -54, 91, 24, 9, 0}, { 0, -54, 92, 24, 9, 0}, { 0, -55, 93, 24, 9, 0}, - { 0, -55, 94, 24, 9, 0}, { 0, -55, 96, 24, 9, 0}, { 0, -56, 97, 24, 9, 0}, { 0, -56, 98, 24, 9, 0}, { 0, -56, 99, 24, 9, 0}, - { 0, -57, 100, 24, 9, 0}, { -1, -57, 101, 24, 9, 0}, { -1, -57, 102, 24, 9, 0}, { -1, -58, 104, 24, 9, 0}, { -1, -58, 105, 24, 9, 0}, - { -1, -58, 106, 24, 9, 0}, { -1, -58, 107, 24, 9, 0}, { -1, -59, 108, 24, 9, 0}, { -1, -59, 109, 24, 9, 0}, { -2, -59, 111, 24, 9, 0}, - { -2, -59, 112, 24, 9, 0}, { -2, -60, 113, 24, 9, 0}, { -2, -60, 114, 24, 9, 0}, { -2, -60, 115, 24, 9, 0}, { -2, -60, 117, 24, 9, 0}, - { -2, -60, 118, 24, 9, 0}, { -3, -60, 119, 24, 10, 0}, { -3, -60, 120, 24, 10, 0}, { -3, -61, 121, 24, 10, 0}, { -3, -61, 123, 24, 10, 0}, - { -3, -61, 124, 24, 10, 0}, { -3, -61, 125, 24, 10, 0}, { -3, -61, 126, 24, 10, 0}, { -3, -61, 127, 24, 10, 0}, { -4, -61, 129, 24, 10, 0}, - { -4, -61, 130, 24, 10, 0}, { -4, -61, 131, 24, 10, 0}, { -4, -61, 132, 24, 10, 0}, { -4, -61, 134, 24, 10, 0}, { -4, -60, 135, 24, 10, 0}, - { -4, -60, 136, 24, 10, 0}, { -4, -60, 137, 24, 11, 0}, { -5, -60, 138, 24, 11, 0}, { -5, -60, 140, 24, 11, 0}, { -5, -60, 141, 24, 11, 0}, - { -5, -60, 142, 24, 11, 0}, { -5, -59, 143, 24, 11, 0}, { -5, -59, 144, 24, 11, 0}, { -5, -59, 145, 24, 11, 0}, { -6, -59, 147, 24, 11, 0}, - { -6, -58, 148, 24, 11, 0}, { -6, -58, 149, 24, 11, 0}, { -6, -58, 150, 24, 11, 0}, { -6, -58, 151, 24, 11, 0}, { -6, -57, 152, 24, 11, 0}, - { -6, -57, 154, 24, 11, 0}, { -6, -56, 155, 24, 11, 0}, { -7, -56, 156, 24, 12, 0}, { -7, -56, 157, 24, 12, 0}, { -7, -55, 158, 24, 12, 0}, - { -7, -55, 159, 24, 12, 0}, { -7, -54, 160, 24, 12, 0}, { -7, -54, 161, 24, 12, 0}, { -7, -54, 162, 24, 12, 0}, { -8, -53, 163, 24, 12, 0}, - { -8, -53, 165, 24, 12, 0}, { -8, -52, 166, 24, 12, 0}, { -8, -52, 167, 24, 12, 0}, { -8, -51, 168, 24, 12, 0}, { -8, -50, 169, 24, 12, 0}, - { -8, -50, 170, 24, 12, 0}, { -8, -49, 171, 24, 12, 0}, { -9, -49, 172, 24, 12, 0}, { -9, -48, 173, 24, 13, 0}, { -9, -48, 174, 24, 13, 0}, - { -9, -47, 174, 24, 13, 0}, { -9, -46, 175, 24, 13, 0}, { -9, -46, 176, 24, 13, 0}, { -9, -45, 177, 24, 13, 0}, { -9, -44, 178, 24, 13, 0}, - { -10, -44, 179, 24, 13, 0}, { -10, -43, 180, 24, 13, 0}, { -10, -42, 181, 24, 13, 0}, { -10, -41, 182, 24, 13, 0}, { -10, -41, 182, 24, 13, 0}, - { -10, -40, 183, 24, 13, 0}, { -10, -39, 184, 24, 13, 0}, { -11, -39, 185, 24, 13, 0}, { -11, -38, 186, 24, 13, 0}, { -11, -37, 186, 24, 13, 0}, - { -11, -36, 187, 24, 14, 0}, { -11, -35, 188, 24, 14, 0}, { -11, -35, 188, 24, 14, 0}, { -11, -34, 189, 24, 14, 0}, { -11, -33, 190, 24, 14, 0}, - { -12, -32, 190, 24, 14, 0}, { -12, -31, 191, 24, 14, 0}, { -12, -30, 192, 24, 14, 0}, { -12, -30, 192, 24, 14, 0}, { -12, -29, 193, 24, 14, 0}, - { -12, -28, 193, 24, 14, 0}, { -12, -27, 194, 24, 14, 0}, { -12, -26, 195, 24, 14, 0}, { -13, -25, 195, 24, 14, 0}, { -13, -24, 196, 24, 14, 0}, - { -13, -23, 196, 24, 14, 0}, { -13, -22, 196, 24, 15, 0}, { -13, -21, 197, 24, 15, 0}, { -13, -21, 197, 24, 15, 0}, { -13, -20, 198, 24, 15, 0}, - { -14, -19, 198, 24, 15, 0}, { -14, -18, 198, 24, 15, 0}, { -14, -17, 199, 24, 15, 0}, { -14, -16, 199, 24, 15, 0}, { -14, -15, 199, 24, 15, 0}, - { -14, -14, 200, 24, 15, 0}, { -14, -13, 200, 24, 15, 0}, { -14, -12, 200, 24, 15, 0}, { -15, -11, 200, 24, 15, 0}, { -15, -10, 201, 24, 15, 0}, - { -15, -9, 201, 24, 15, 0}, { -15, -8, 201, 24, 15, 0}, { -15, -7, 201, 24, 16, 0}, { -15, -6, 201, 24, 16, 0}, { -15, -5, 201, 24, 16, 0}, - { -15, -4, 202, 24, 16, 0}, { -16, -3, 202, 24, 16, 0}, { -16, -2, 202, 24, 16, 0}, { -16, -1, 202, 24, 16, 0}, { -16, 0, 202, 24, 16, 0}, + {16, 31, -1, 24, 2, 0}, {16, 30, 0, 24, 2, 0}, {16, 29, 0, 24, 2, 0}, {15, 28, 1, 24, 2, 0}, {15, 27, 1, 24, 2, 0}, + {15, 26, 2, 24, 2, 0}, {15, 26, 2, 24, 2, 0}, {15, 25, 3, 24, 2, 0}, {15, 24, 3, 24, 2, 0}, {15, 23, 4, 24, 2, 0}, + {15, 22, 4, 24, 2, 0}, {14, 21, 5, 24, 2, 0}, {14, 20, 5, 24, 2, 0}, {14, 19, 6, 24, 2, 0}, {14, 18, 6, 24, 2, 0}, + {14, 18, 7, 24, 2, 0}, {14, 17, 7, 24, 2, 0}, {14, 16, 8, 24, 2, 0}, {14, 15, 9, 24, 2, 0}, {13, 14, 9, 24, 2, 0}, + {13, 13, 10, 24, 2, 0}, {13, 12, 10, 24, 2, 0}, {13, 11, 11, 24, 2, 0}, {13, 11, 11, 24, 2, 0}, {13, 10, 12, 24, 2, 0}, + {13, 9, 13, 24, 2, 0}, {12, 8, 13, 24, 2, 0}, {12, 7, 14, 24, 2, 0}, {12, 6, 14, 24, 2, 0}, {12, 5, 15, 24, 2, 0}, + {12, 4, 16, 24, 2, 0}, {12, 4, 16, 24, 2, 0}, {12, 3, 17, 24, 2, 0}, {12, 2, 17, 24, 3, 0}, {11, 1, 18, 24, 3, 0}, + {11, 0, 19, 24, 3, 0}, {11, -1, 19, 24, 3, 0}, {11, -1, 20, 24, 3, 0}, {11, -2, 21, 24, 3, 0}, {11, -3, 21, 24, 3, 0}, + {11, -4, 22, 24, 3, 0}, {11, -5, 23, 24, 3, 0}, {10, -6, 23, 24, 3, 0}, {10, -6, 24, 24, 3, 0}, {10, -7, 25, 24, 3, 0}, + {10, -8, 25, 24, 3, 0}, {10, -9, 26, 24, 3, 0}, {10, -10, 27, 24, 3, 0}, {10, -11, 28, 24, 3, 0}, {9, -11, 28, 24, 3, 0}, + {9, -12, 29, 24, 3, 0}, {9, -13, 30, 24, 3, 0}, {9, -14, 30, 24, 3, 0}, {9, -14, 31, 24, 3, 0}, {9, -15, 32, 24, 3, 0}, + {9, -16, 33, 24, 3, 0}, {9, -17, 33, 24, 3, 0}, {8, -18, 34, 24, 3, 0}, {8, -18, 35, 24, 3, 0}, {8, -19, 36, 24, 3, 0}, + {8, -20, 37, 24, 3, 0}, {8, -21, 37, 24, 3, 0}, {8, -21, 38, 24, 3, 0}, {8, -22, 39, 24, 3, 0}, {8, -23, 40, 24, 3, 0}, + {7, -24, 41, 24, 3, 0}, {7, -24, 41, 24, 3, 0}, {7, -25, 42, 24, 3, 0}, {7, -26, 43, 24, 3, 0}, {7, -26, 44, 24, 3, 0}, + {7, -27, 45, 24, 3, 0}, {7, -28, 46, 24, 3, 0}, {6, -29, 46, 24, 3, 0}, {6, -29, 47, 24, 3, 0}, {6, -30, 48, 24, 3, 0}, + {6, -31, 49, 24, 3, 0}, {6, -31, 50, 24, 3, 0}, {6, -32, 51, 24, 3, 0}, {6, -33, 52, 24, 3, 0}, {6, -33, 53, 24, 3, 0}, + {5, -34, 53, 24, 3, 0}, {5, -35, 54, 24, 3, 0}, {5, -35, 55, 24, 3, 0}, {5, -36, 56, 24, 4, 0}, {5, -37, 57, 24, 4, 0}, + {5, -37, 58, 24, 4, 0}, {5, -38, 59, 24, 4, 0}, {5, -38, 60, 24, 4, 0}, {4, -39, 61, 24, 4, 0}, {4, -40, 62, 24, 4, 0}, + {4, -40, 63, 24, 4, 0}, {4, -41, 64, 24, 4, 0}, {4, -42, 65, 24, 4, 0}, {4, -42, 66, 24, 4, 0}, {4, -43, 67, 24, 4, 0}, + {3, -43, 68, 24, 4, 0}, {3, -44, 69, 24, 4, 0}, {3, -44, 70, 24, 4, 0}, {3, -45, 71, 24, 4, 0}, {3, -45, 72, 24, 4, 0}, + {3, -46, 73, 24, 4, 0}, {3, -47, 74, 24, 4, 0}, {3, -47, 75, 24, 4, 0}, {2, -48, 76, 24, 4, 0}, {2, -48, 77, 24, 4, 0}, + {2, -49, 78, 24, 4, 0}, {2, -49, 79, 24, 4, 0}, {2, -50, 80, 24, 4, 0}, {2, -50, 81, 24, 4, 0}, {2, -50, 82, 24, 4, 0}, + {2, -51, 83, 24, 4, 0}, {1, -51, 84, 24, 4, 0}, {1, -52, 86, 24, 4, 0}, {1, -52, 87, 24, 4, 0}, {1, -53, 88, 24, 4, 0}, + {1, -53, 89, 24, 4, 0}, {1, -53, 90, 24, 4, 0}, {1, -54, 91, 24, 9, 0}, {0, -54, 92, 24, 9, 0}, {0, -55, 93, 24, 9, 0}, + {0, -55, 94, 24, 9, 0}, {0, -55, 96, 24, 9, 0}, {0, -56, 97, 24, 9, 0}, {0, -56, 98, 24, 9, 0}, {0, -56, 99, 24, 9, 0}, + {0, -57, 100, 24, 9, 0}, {-1, -57, 101, 24, 9, 0}, {-1, -57, 102, 24, 9, 0}, {-1, -58, 104, 24, 9, 0}, {-1, -58, 105, 24, 9, 0}, + {-1, -58, 106, 24, 9, 0}, {-1, -58, 107, 24, 9, 0}, {-1, -59, 108, 24, 9, 0}, {-1, -59, 109, 24, 9, 0}, {-2, -59, 111, 24, 9, 0}, + {-2, -59, 112, 24, 9, 0}, {-2, -60, 113, 24, 9, 0}, {-2, -60, 114, 24, 9, 0}, {-2, -60, 115, 24, 9, 0}, {-2, -60, 117, 24, 9, 0}, + {-2, -60, 118, 24, 9, 0}, {-3, -60, 119, 24, 10, 0}, {-3, -60, 120, 24, 10, 0}, {-3, -61, 121, 24, 10, 0}, {-3, -61, 123, 24, 10, 0}, + {-3, -61, 124, 24, 10, 0}, {-3, -61, 125, 24, 10, 0}, {-3, -61, 126, 24, 10, 0}, {-3, -61, 127, 24, 10, 0}, {-4, -61, 129, 24, 10, 0}, + {-4, -61, 130, 24, 10, 0}, {-4, -61, 131, 24, 10, 0}, {-4, -61, 132, 24, 10, 0}, {-4, -61, 134, 24, 10, 0}, {-4, -60, 135, 24, 10, 0}, + {-4, -60, 136, 24, 10, 0}, {-4, -60, 137, 24, 11, 0}, {-5, -60, 138, 24, 11, 0}, {-5, -60, 140, 24, 11, 0}, {-5, -60, 141, 24, 11, 0}, + {-5, -60, 142, 24, 11, 0}, {-5, -59, 143, 24, 11, 0}, {-5, -59, 144, 24, 11, 0}, {-5, -59, 145, 24, 11, 0}, {-6, -59, 147, 24, 11, 0}, + {-6, -58, 148, 24, 11, 0}, {-6, -58, 149, 24, 11, 0}, {-6, -58, 150, 24, 11, 0}, {-6, -58, 151, 24, 11, 0}, {-6, -57, 152, 24, 11, 0}, + {-6, -57, 154, 24, 11, 0}, {-6, -56, 155, 24, 11, 0}, {-7, -56, 156, 24, 12, 0}, {-7, -56, 157, 24, 12, 0}, {-7, -55, 158, 24, 12, 0}, + {-7, -55, 159, 24, 12, 0}, {-7, -54, 160, 24, 12, 0}, {-7, -54, 161, 24, 12, 0}, {-7, -54, 162, 24, 12, 0}, {-8, -53, 163, 24, 12, 0}, + {-8, -53, 165, 24, 12, 0}, {-8, -52, 166, 24, 12, 0}, {-8, -52, 167, 24, 12, 0}, {-8, -51, 168, 24, 12, 0}, {-8, -50, 169, 24, 12, 0}, + {-8, -50, 170, 24, 12, 0}, {-8, -49, 171, 24, 12, 0}, {-9, -49, 172, 24, 12, 0}, {-9, -48, 173, 24, 13, 0}, {-9, -48, 174, 24, 13, 0}, + {-9, -47, 174, 24, 13, 0}, {-9, -46, 175, 24, 13, 0}, {-9, -46, 176, 24, 13, 0}, {-9, -45, 177, 24, 13, 0}, {-9, -44, 178, 24, 13, 0}, + {-10, -44, 179, 24, 13, 0}, {-10, -43, 180, 24, 13, 0}, {-10, -42, 181, 24, 13, 0}, {-10, -41, 182, 24, 13, 0}, {-10, -41, 182, 24, 13, 0}, + {-10, -40, 183, 24, 13, 0}, {-10, -39, 184, 24, 13, 0}, {-11, -39, 185, 24, 13, 0}, {-11, -38, 186, 24, 13, 0}, {-11, -37, 186, 24, 13, 0}, + {-11, -36, 187, 24, 14, 0}, {-11, -35, 188, 24, 14, 0}, {-11, -35, 188, 24, 14, 0}, {-11, -34, 189, 24, 14, 0}, {-11, -33, 190, 24, 14, 0}, + {-12, -32, 190, 24, 14, 0}, {-12, -31, 191, 24, 14, 0}, {-12, -30, 192, 24, 14, 0}, {-12, -30, 192, 24, 14, 0}, {-12, -29, 193, 24, 14, 0}, + {-12, -28, 193, 24, 14, 0}, {-12, -27, 194, 24, 14, 0}, {-12, -26, 195, 24, 14, 0}, {-13, -25, 195, 24, 14, 0}, {-13, -24, 196, 24, 14, 0}, + {-13, -23, 196, 24, 14, 0}, {-13, -22, 196, 24, 15, 0}, {-13, -21, 197, 24, 15, 0}, {-13, -21, 197, 24, 15, 0}, {-13, -20, 198, 24, 15, 0}, + {-14, -19, 198, 24, 15, 0}, {-14, -18, 198, 24, 15, 0}, {-14, -17, 199, 24, 15, 0}, {-14, -16, 199, 24, 15, 0}, {-14, -15, 199, 24, 15, 0}, + {-14, -14, 200, 24, 15, 0}, {-14, -13, 200, 24, 15, 0}, {-14, -12, 200, 24, 15, 0}, {-15, -11, 200, 24, 15, 0}, {-15, -10, 201, 24, 15, 0}, + {-15, -9, 201, 24, 15, 0}, {-15, -8, 201, 24, 15, 0}, {-15, -7, 201, 24, 16, 0}, {-15, -6, 201, 24, 16, 0}, {-15, -5, 201, 24, 16, 0}, + {-15, -4, 202, 24, 16, 0}, {-16, -3, 202, 24, 16, 0}, {-16, -2, 202, 24, 16, 0}, {-16, -1, 202, 24, 16, 0}, {-16, 0, 202, 24, 16, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopDown0, { - { 31, 16, 35, 16, 16, 0}, { 30, 16, 35, 16, 16, 0}, { 29, 16, 35, 16, 16, 0}, { 28, 15, 35, 16, 16, 0}, { 27, 15, 35, 16, 16, 0}, - { 26, 15, 35, 16, 16, 0}, { 25, 15, 35, 16, 16, 0}, { 24, 15, 34, 16, 23, 0}, { 23, 15, 34, 16, 23, 0}, { 22, 15, 34, 16, 23, 0}, - { 21, 15, 34, 16, 23, 0}, { 20, 14, 34, 16, 23, 0}, { 19, 14, 33, 16, 23, 0}, { 18, 14, 33, 16, 23, 0}, { 17, 14, 33, 16, 23, 0}, - { 16, 14, 32, 16, 23, 0}, { 15, 14, 32, 16, 23, 0}, { 14, 14, 32, 16, 23, 0}, { 13, 14, 31, 16, 23, 0}, { 12, 13, 31, 16, 23, 0}, - { 11, 13, 31, 16, 23, 0}, { 11, 13, 30, 16, 23, 0}, { 10, 13, 30, 16, 23, 0}, { 9, 13, 29, 16, 22, 0}, { 8, 13, 29, 16, 22, 0}, - { 7, 13, 28, 16, 22, 0}, { 6, 12, 28, 16, 22, 0}, { 5, 12, 27, 16, 22, 0}, { 4, 12, 27, 16, 22, 0}, { 3, 12, 26, 16, 22, 0}, - { 2, 12, 26, 16, 22, 0}, { 2, 12, 25, 16, 22, 0}, { 1, 12, 24, 16, 22, 0}, { 0, 12, 24, 16, 22, 0}, { -1, 11, 23, 16, 22, 0}, - { -2, 11, 22, 16, 22, 0}, { -3, 11, 22, 16, 22, 0}, { -3, 11, 21, 16, 22, 0}, { -4, 11, 20, 16, 22, 0}, { -5, 11, 20, 16, 21, 0}, - { -6, 11, 19, 16, 21, 0}, { -7, 11, 18, 16, 21, 0}, { -7, 10, 17, 16, 21, 0}, { -8, 10, 17, 16, 21, 0}, { -9, 10, 16, 16, 21, 0}, - { -9, 10, 15, 16, 21, 0}, { -10, 10, 14, 16, 21, 0}, { -11, 10, 13, 16, 21, 0}, { -12, 10, 12, 16, 21, 0}, { -12, 9, 11, 16, 21, 0}, - { -13, 9, 11, 16, 21, 0}, { -14, 9, 10, 16, 21, 0}, { -14, 9, 9, 16, 21, 0}, { -15, 9, 8, 16, 21, 0}, { -16, 9, 7, 16, 21, 0}, - { -16, 9, 6, 16, 21, 0}, { -17, 9, 5, 16, 20, 0}, { -17, 8, 4, 16, 20, 0}, { -18, 8, 3, 16, 20, 0}, { -18, 8, 2, 16, 20, 0}, - { -19, 8, 1, 16, 20, 0}, { -20, 8, 0, 16, 20, 0}, { -20, 8, -1, 16, 20, 0}, { -21, 8, -2, 16, 20, 0}, { -21, 8, -3, 16, 20, 0}, - { -22, 7, -4, 16, 20, 0}, { -22, 7, -5, 16, 20, 0}, { -22, 7, -6, 16, 20, 0}, { -23, 7, -8, 16, 20, 0}, { -23, 7, -9, 16, 20, 0}, - { -24, 7, -10, 16, 20, 0}, { -24, 7, -11, 16, 20, 0}, { -24, 6, -12, 16, 19, 0}, { -25, 6, -13, 16, 19, 0}, { -25, 6, -14, 16, 19, 0}, - { -26, 6, -15, 16, 19, 0}, { -26, 6, -17, 16, 19, 0}, { -26, 6, -18, 16, 19, 0}, { -26, 6, -19, 16, 19, 0}, { -27, 6, -20, 16, 19, 0}, - { -27, 5, -21, 16, 19, 0}, { -27, 5, -22, 16, 19, 0}, { -27, 5, -24, 16, 19, 0}, { -28, 5, -25, 16, 19, 0}, { -28, 5, -26, 16, 19, 0}, - { -28, 5, -27, 16, 19, 0}, { -28, 5, -28, 16, 19, 0}, { -28, 4, -30, 16, 19, 0}, { -28, 4, -31, 16, 18, 0}, { -28, 4, -32, 16, 18, 0}, - { -29, 4, -33, 16, 18, 0}, { -29, 4, -34, 16, 18, 0}, { -29, 4, -36, 16, 18, 0}, { -29, 4, -37, 16, 18, 0}, { -29, 4, -38, 16, 18, 0}, - { -29, 3, -39, 16, 18, 0}, { -29, 3, -40, 16, 18, 0}, { -29, 3, -42, 16, 18, 0}, { -29, 3, -43, 16, 18, 0}, { -29, 3, -44, 16, 18, 0}, - { -29, 3, -45, 16, 18, 0}, { -28, 3, -46, 16, 18, 0}, { -28, 3, -48, 16, 18, 0}, { -28, 2, -49, 16, 17, 0}, { -28, 2, -50, 16, 17, 0}, - { -28, 2, -51, 16, 17, 0}, { -28, 2, -52, 16, 17, 0}, { -28, 2, -54, 16, 17, 0}, { -27, 2, -55, 16, 17, 0}, { -27, 2, -56, 16, 17, 0}, - { -27, 1, -57, 16, 17, 0}, { -27, 1, -58, 16, 17, 0}, { -26, 1, -60, 16, 17, 0}, { -26, 1, -61, 16, 17, 0}, { -26, 1, -62, 16, 17, 0}, - { -26, 1, -63, 16, 17, 0}, { -25, 1, -64, 16, 17, 0}, { -25, 1, -65, 16, 17, 0}, { -25, 0, -67, 16, 17, 0}, { -24, 0, -68, 16, 17, 0}, - { -24, 0, -69, 16, 17, 0}, { -24, 0, -70, 16, 17, 0}, { -23, 0, -71, 16, 17, 0}, { -23, 0, -72, 16, 17, 0}, { -23, 0, -73, 16, 17, 0}, - { -22, 0, -75, 16, 17, 0}, { -22, -1, -76, 16, 17, 0}, { -21, -1, -77, 16, 8, 0}, { -21, -1, -78, 16, 8, 0}, { -21, -1, -79, 16, 8, 0}, - { -20, -1, -80, 16, 8, 0}, { -20, -1, -81, 16, 8, 0}, { -19, -1, -82, 16, 8, 0}, { -19, -2, -83, 16, 8, 0}, { -18, -2, -84, 16, 8, 0}, - { -18, -2, -85, 16, 8, 0}, { -18, -2, -87, 16, 8, 0}, { -17, -2, -88, 16, 8, 0}, { -17, -2, -89, 16, 8, 0}, { -16, -2, -90, 16, 8, 0}, - { -16, -2, -91, 16, 8, 0}, { -15, -3, -92, 16, 8, 0}, { -15, -3, -93, 16, 8, 0}, { -14, -3, -94, 16, 8, 0}, { -13, -3, -95, 16, 8, 0}, - { -13, -3, -96, 16, 8, 0}, { -12, -3, -97, 16, 8, 0}, { -12, -3, -98, 16, 8, 0}, { -11, -3, -99, 16, 8, 0}, { -11, -4, -100, 16, 8, 0}, - { -10, -4, -101, 16, 8, 0}, { -10, -4, -102, 16, 8, 0}, { -9, -4, -103, 16, 8, 0}, { -8, -4, -104, 16, 8, 0}, { -8, -4, -105, 16, 8, 0}, - { -7, -4, -106, 16, 8, 0}, { -6, -5, -107, 16, 8, 0}, { -6, -5, -108, 16, 8, 0}, { -5, -5, -109, 16, 8, 0}, { -5, -5, -110, 16, 8, 0}, - { -4, -5, -110, 16, 8, 0}, { -3, -5, -111, 16, 7, 0}, { -3, -5, -112, 16, 7, 0}, { -2, -5, -113, 16, 7, 0}, { -1, -6, -114, 16, 7, 0}, - { -1, -6, -115, 16, 7, 0}, { 0, -6, -116, 16, 7, 0}, { 1, -6, -117, 16, 7, 0}, { 1, -6, -118, 16, 7, 0}, { 2, -6, -119, 16, 7, 0}, - { 3, -6, -119, 16, 7, 0}, { 3, -6, -120, 16, 7, 0}, { 4, -7, -121, 16, 7, 0}, { 5, -7, -122, 16, 7, 0}, { 6, -7, -123, 16, 7, 0}, - { 6, -7, -124, 16, 7, 0}, { 7, -7, -124, 16, 7, 0}, { 8, -7, -125, 16, 7, 0}, { 8, -7, -126, 16, 7, 0}, { 9, -8, -127, 16, 7, 0}, - { 10, -8, -128, 16, 7, 0}, { 11, -8, -129, 16, 7, 0}, { 11, -8, -129, 16, 7, 0}, { 12, -8, -130, 16, 7, 0}, { 13, -8, -131, 16, 7, 0}, - { 14, -8, -132, 16, 7, 0}, { 14, -8, -132, 16, 7, 0}, { 15, -9, -133, 16, 7, 0}, { 16, -9, -134, 16, 7, 0}, { 17, -9, -135, 16, 7, 0}, - { 18, -9, -135, 16, 7, 0}, { 18, -9, -136, 16, 7, 0}, { 19, -9, -137, 16, 7, 0}, { 20, -9, -138, 16, 7, 0}, { 21, -9, -138, 16, 7, 0}, - { 21, -10, -139, 16, 7, 0}, { 22, -10, -140, 16, 7, 0}, { 23, -10, -141, 16, 7, 0}, { 24, -10, -141, 16, 7, 0}, { 25, -10, -142, 16, 7, 0}, - { 26, -10, -143, 16, 7, 0}, { 26, -10, -143, 16, 7, 0}, { 27, -11, -144, 16, 7, 0}, { 28, -11, -145, 16, 7, 0}, { 29, -11, -145, 16, 7, 0}, - { 30, -11, -146, 16, 7, 0}, { 31, -11, -147, 16, 7, 0}, { 31, -11, -147, 16, 7, 0}, { 32, -11, -148, 16, 7, 0}, { 33, -11, -149, 16, 7, 0}, - { 34, -12, -149, 16, 7, 0}, { 35, -12, -150, 16, 6, 0}, { 36, -12, -150, 16, 6, 0}, { 36, -12, -151, 16, 6, 0}, { 37, -12, -152, 16, 6, 0}, - { 38, -12, -152, 16, 6, 0}, { 39, -12, -153, 16, 6, 0}, { 40, -12, -154, 16, 6, 0}, { 41, -13, -154, 16, 6, 0}, { 42, -13, -155, 16, 6, 0}, - { 43, -13, -155, 16, 6, 0}, { 43, -13, -156, 16, 6, 0}, { 44, -13, -156, 16, 6, 0}, { 45, -13, -157, 16, 6, 0}, { 46, -13, -158, 16, 6, 0}, - { 47, -14, -158, 16, 6, 0}, { 48, -14, -159, 16, 6, 0}, { 49, -14, -159, 16, 6, 0}, { 50, -14, -160, 16, 6, 0}, { 50, -14, -160, 16, 6, 0}, - { 51, -14, -161, 16, 6, 0}, { 52, -14, -161, 16, 6, 0}, { 53, -14, -162, 16, 6, 0}, { 54, -15, -162, 16, 6, 0}, { 55, -15, -163, 16, 6, 0}, - { 56, -15, -163, 16, 6, 0}, { 57, -15, -164, 16, 6, 0}, { 58, -15, -164, 16, 6, 0}, { 58, -15, -165, 16, 6, 0}, { 59, -15, -165, 16, 6, 0}, - { 60, -15, -166, 16, 6, 0}, { 61, -16, -166, 16, 6, 0}, { 62, -16, -167, 16, 6, 0}, { 63, -16, -167, 16, 6, 0}, { 64, -16, -168, 16, 6, 0}, + {31, 16, 35, 16, 16, 0}, {30, 16, 35, 16, 16, 0}, {29, 16, 35, 16, 16, 0}, {28, 15, 35, 16, 16, 0}, {27, 15, 35, 16, 16, 0}, + {26, 15, 35, 16, 16, 0}, {25, 15, 35, 16, 16, 0}, {24, 15, 34, 16, 23, 0}, {23, 15, 34, 16, 23, 0}, {22, 15, 34, 16, 23, 0}, + {21, 15, 34, 16, 23, 0}, {20, 14, 34, 16, 23, 0}, {19, 14, 33, 16, 23, 0}, {18, 14, 33, 16, 23, 0}, {17, 14, 33, 16, 23, 0}, + {16, 14, 32, 16, 23, 0}, {15, 14, 32, 16, 23, 0}, {14, 14, 32, 16, 23, 0}, {13, 14, 31, 16, 23, 0}, {12, 13, 31, 16, 23, 0}, + {11, 13, 31, 16, 23, 0}, {11, 13, 30, 16, 23, 0}, {10, 13, 30, 16, 23, 0}, {9, 13, 29, 16, 22, 0}, {8, 13, 29, 16, 22, 0}, + {7, 13, 28, 16, 22, 0}, {6, 12, 28, 16, 22, 0}, {5, 12, 27, 16, 22, 0}, {4, 12, 27, 16, 22, 0}, {3, 12, 26, 16, 22, 0}, + {2, 12, 26, 16, 22, 0}, {2, 12, 25, 16, 22, 0}, {1, 12, 24, 16, 22, 0}, {0, 12, 24, 16, 22, 0}, {-1, 11, 23, 16, 22, 0}, + {-2, 11, 22, 16, 22, 0}, {-3, 11, 22, 16, 22, 0}, {-3, 11, 21, 16, 22, 0}, {-4, 11, 20, 16, 22, 0}, {-5, 11, 20, 16, 21, 0}, + {-6, 11, 19, 16, 21, 0}, {-7, 11, 18, 16, 21, 0}, {-7, 10, 17, 16, 21, 0}, {-8, 10, 17, 16, 21, 0}, {-9, 10, 16, 16, 21, 0}, + {-9, 10, 15, 16, 21, 0}, {-10, 10, 14, 16, 21, 0}, {-11, 10, 13, 16, 21, 0}, {-12, 10, 12, 16, 21, 0}, {-12, 9, 11, 16, 21, 0}, + {-13, 9, 11, 16, 21, 0}, {-14, 9, 10, 16, 21, 0}, {-14, 9, 9, 16, 21, 0}, {-15, 9, 8, 16, 21, 0}, {-16, 9, 7, 16, 21, 0}, + {-16, 9, 6, 16, 21, 0}, {-17, 9, 5, 16, 20, 0}, {-17, 8, 4, 16, 20, 0}, {-18, 8, 3, 16, 20, 0}, {-18, 8, 2, 16, 20, 0}, + {-19, 8, 1, 16, 20, 0}, {-20, 8, 0, 16, 20, 0}, {-20, 8, -1, 16, 20, 0}, {-21, 8, -2, 16, 20, 0}, {-21, 8, -3, 16, 20, 0}, + {-22, 7, -4, 16, 20, 0}, {-22, 7, -5, 16, 20, 0}, {-22, 7, -6, 16, 20, 0}, {-23, 7, -8, 16, 20, 0}, {-23, 7, -9, 16, 20, 0}, + {-24, 7, -10, 16, 20, 0}, {-24, 7, -11, 16, 20, 0}, {-24, 6, -12, 16, 19, 0}, {-25, 6, -13, 16, 19, 0}, {-25, 6, -14, 16, 19, 0}, + {-26, 6, -15, 16, 19, 0}, {-26, 6, -17, 16, 19, 0}, {-26, 6, -18, 16, 19, 0}, {-26, 6, -19, 16, 19, 0}, {-27, 6, -20, 16, 19, 0}, + {-27, 5, -21, 16, 19, 0}, {-27, 5, -22, 16, 19, 0}, {-27, 5, -24, 16, 19, 0}, {-28, 5, -25, 16, 19, 0}, {-28, 5, -26, 16, 19, 0}, + {-28, 5, -27, 16, 19, 0}, {-28, 5, -28, 16, 19, 0}, {-28, 4, -30, 16, 19, 0}, {-28, 4, -31, 16, 18, 0}, {-28, 4, -32, 16, 18, 0}, + {-29, 4, -33, 16, 18, 0}, {-29, 4, -34, 16, 18, 0}, {-29, 4, -36, 16, 18, 0}, {-29, 4, -37, 16, 18, 0}, {-29, 4, -38, 16, 18, 0}, + {-29, 3, -39, 16, 18, 0}, {-29, 3, -40, 16, 18, 0}, {-29, 3, -42, 16, 18, 0}, {-29, 3, -43, 16, 18, 0}, {-29, 3, -44, 16, 18, 0}, + {-29, 3, -45, 16, 18, 0}, {-28, 3, -46, 16, 18, 0}, {-28, 3, -48, 16, 18, 0}, {-28, 2, -49, 16, 17, 0}, {-28, 2, -50, 16, 17, 0}, + {-28, 2, -51, 16, 17, 0}, {-28, 2, -52, 16, 17, 0}, {-28, 2, -54, 16, 17, 0}, {-27, 2, -55, 16, 17, 0}, {-27, 2, -56, 16, 17, 0}, + {-27, 1, -57, 16, 17, 0}, {-27, 1, -58, 16, 17, 0}, {-26, 1, -60, 16, 17, 0}, {-26, 1, -61, 16, 17, 0}, {-26, 1, -62, 16, 17, 0}, + {-26, 1, -63, 16, 17, 0}, {-25, 1, -64, 16, 17, 0}, {-25, 1, -65, 16, 17, 0}, {-25, 0, -67, 16, 17, 0}, {-24, 0, -68, 16, 17, 0}, + {-24, 0, -69, 16, 17, 0}, {-24, 0, -70, 16, 17, 0}, {-23, 0, -71, 16, 17, 0}, {-23, 0, -72, 16, 17, 0}, {-23, 0, -73, 16, 17, 0}, + {-22, 0, -75, 16, 17, 0}, {-22, -1, -76, 16, 17, 0}, {-21, -1, -77, 16, 8, 0}, {-21, -1, -78, 16, 8, 0}, {-21, -1, -79, 16, 8, 0}, + {-20, -1, -80, 16, 8, 0}, {-20, -1, -81, 16, 8, 0}, {-19, -1, -82, 16, 8, 0}, {-19, -2, -83, 16, 8, 0}, {-18, -2, -84, 16, 8, 0}, + {-18, -2, -85, 16, 8, 0}, {-18, -2, -87, 16, 8, 0}, {-17, -2, -88, 16, 8, 0}, {-17, -2, -89, 16, 8, 0}, {-16, -2, -90, 16, 8, 0}, + {-16, -2, -91, 16, 8, 0}, {-15, -3, -92, 16, 8, 0}, {-15, -3, -93, 16, 8, 0}, {-14, -3, -94, 16, 8, 0}, {-13, -3, -95, 16, 8, 0}, + {-13, -3, -96, 16, 8, 0}, {-12, -3, -97, 16, 8, 0}, {-12, -3, -98, 16, 8, 0}, {-11, -3, -99, 16, 8, 0}, {-11, -4, -100, 16, 8, 0}, + {-10, -4, -101, 16, 8, 0}, {-10, -4, -102, 16, 8, 0}, {-9, -4, -103, 16, 8, 0}, {-8, -4, -104, 16, 8, 0}, {-8, -4, -105, 16, 8, 0}, + {-7, -4, -106, 16, 8, 0}, {-6, -5, -107, 16, 8, 0}, {-6, -5, -108, 16, 8, 0}, {-5, -5, -109, 16, 8, 0}, {-5, -5, -110, 16, 8, 0}, + {-4, -5, -110, 16, 8, 0}, {-3, -5, -111, 16, 7, 0}, {-3, -5, -112, 16, 7, 0}, {-2, -5, -113, 16, 7, 0}, {-1, -6, -114, 16, 7, 0}, + {-1, -6, -115, 16, 7, 0}, {0, -6, -116, 16, 7, 0}, {1, -6, -117, 16, 7, 0}, {1, -6, -118, 16, 7, 0}, {2, -6, -119, 16, 7, 0}, + {3, -6, -119, 16, 7, 0}, {3, -6, -120, 16, 7, 0}, {4, -7, -121, 16, 7, 0}, {5, -7, -122, 16, 7, 0}, {6, -7, -123, 16, 7, 0}, + {6, -7, -124, 16, 7, 0}, {7, -7, -124, 16, 7, 0}, {8, -7, -125, 16, 7, 0}, {8, -7, -126, 16, 7, 0}, {9, -8, -127, 16, 7, 0}, + {10, -8, -128, 16, 7, 0}, {11, -8, -129, 16, 7, 0}, {11, -8, -129, 16, 7, 0}, {12, -8, -130, 16, 7, 0}, {13, -8, -131, 16, 7, 0}, + {14, -8, -132, 16, 7, 0}, {14, -8, -132, 16, 7, 0}, {15, -9, -133, 16, 7, 0}, {16, -9, -134, 16, 7, 0}, {17, -9, -135, 16, 7, 0}, + {18, -9, -135, 16, 7, 0}, {18, -9, -136, 16, 7, 0}, {19, -9, -137, 16, 7, 0}, {20, -9, -138, 16, 7, 0}, {21, -9, -138, 16, 7, 0}, + {21, -10, -139, 16, 7, 0}, {22, -10, -140, 16, 7, 0}, {23, -10, -141, 16, 7, 0}, {24, -10, -141, 16, 7, 0}, {25, -10, -142, 16, 7, 0}, + {26, -10, -143, 16, 7, 0}, {26, -10, -143, 16, 7, 0}, {27, -11, -144, 16, 7, 0}, {28, -11, -145, 16, 7, 0}, {29, -11, -145, 16, 7, 0}, + {30, -11, -146, 16, 7, 0}, {31, -11, -147, 16, 7, 0}, {31, -11, -147, 16, 7, 0}, {32, -11, -148, 16, 7, 0}, {33, -11, -149, 16, 7, 0}, + {34, -12, -149, 16, 7, 0}, {35, -12, -150, 16, 6, 0}, {36, -12, -150, 16, 6, 0}, {36, -12, -151, 16, 6, 0}, {37, -12, -152, 16, 6, 0}, + {38, -12, -152, 16, 6, 0}, {39, -12, -153, 16, 6, 0}, {40, -12, -154, 16, 6, 0}, {41, -13, -154, 16, 6, 0}, {42, -13, -155, 16, 6, 0}, + {43, -13, -155, 16, 6, 0}, {43, -13, -156, 16, 6, 0}, {44, -13, -156, 16, 6, 0}, {45, -13, -157, 16, 6, 0}, {46, -13, -158, 16, 6, 0}, + {47, -14, -158, 16, 6, 0}, {48, -14, -159, 16, 6, 0}, {49, -14, -159, 16, 6, 0}, {50, -14, -160, 16, 6, 0}, {50, -14, -160, 16, 6, 0}, + {51, -14, -161, 16, 6, 0}, {52, -14, -161, 16, 6, 0}, {53, -14, -162, 16, 6, 0}, {54, -15, -162, 16, 6, 0}, {55, -15, -163, 16, 6, 0}, + {56, -15, -163, 16, 6, 0}, {57, -15, -164, 16, 6, 0}, {58, -15, -164, 16, 6, 0}, {58, -15, -165, 16, 6, 0}, {59, -15, -165, 16, 6, 0}, + {60, -15, -166, 16, 6, 0}, {61, -16, -166, 16, 6, 0}, {62, -16, -167, 16, 6, 0}, {63, -16, -167, 16, 6, 0}, {64, -16, -168, 16, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopDown1, { - { 16, 0, 35, 24, 16, 0}, { 16, 1, 35, 24, 16, 0}, { 16, 2, 35, 24, 16, 0}, { 16, 3, 35, 24, 16, 0}, { 15, 4, 35, 24, 16, 0}, - { 15, 5, 35, 24, 16, 0}, { 15, 6, 35, 24, 16, 0}, { 15, 7, 35, 24, 16, 0}, { 15, 8, 34, 24, 23, 0}, { 15, 9, 34, 24, 23, 0}, - { 15, 10, 34, 24, 23, 0}, { 15, 11, 34, 24, 23, 0}, { 14, 12, 34, 24, 23, 0}, { 14, 13, 33, 24, 23, 0}, { 14, 14, 33, 24, 23, 0}, - { 14, 15, 33, 24, 23, 0}, { 14, 16, 32, 24, 23, 0}, { 14, 17, 32, 24, 23, 0}, { 14, 18, 32, 24, 23, 0}, { 14, 19, 31, 24, 23, 0}, - { 13, 20, 31, 24, 23, 0}, { 13, 21, 31, 24, 23, 0}, { 13, 21, 30, 24, 23, 0}, { 13, 22, 30, 24, 23, 0}, { 13, 23, 29, 24, 22, 0}, - { 13, 24, 29, 24, 22, 0}, { 13, 25, 28, 24, 22, 0}, { 12, 26, 28, 24, 22, 0}, { 12, 27, 27, 24, 22, 0}, { 12, 28, 27, 24, 22, 0}, - { 12, 29, 26, 24, 22, 0}, { 12, 30, 26, 24, 22, 0}, { 12, 30, 25, 24, 22, 0}, { 12, 31, 24, 24, 22, 0}, { 12, 32, 24, 24, 22, 0}, - { 11, 33, 23, 24, 22, 0}, { 11, 34, 22, 24, 22, 0}, { 11, 35, 22, 24, 22, 0}, { 11, 35, 21, 24, 22, 0}, { 11, 36, 20, 24, 22, 0}, - { 11, 37, 20, 24, 21, 0}, { 11, 38, 19, 24, 21, 0}, { 11, 39, 18, 24, 21, 0}, { 10, 39, 17, 24, 21, 0}, { 10, 40, 17, 24, 21, 0}, - { 10, 41, 16, 24, 21, 0}, { 10, 41, 15, 24, 21, 0}, { 10, 42, 14, 24, 21, 0}, { 10, 43, 13, 24, 21, 0}, { 10, 44, 12, 24, 21, 0}, - { 9, 44, 11, 24, 21, 0}, { 9, 45, 11, 24, 21, 0}, { 9, 46, 10, 24, 21, 0}, { 9, 46, 9, 24, 21, 0}, { 9, 47, 8, 24, 21, 0}, - { 9, 48, 7, 24, 21, 0}, { 9, 48, 6, 24, 21, 0}, { 9, 49, 5, 24, 20, 0}, { 8, 49, 4, 24, 20, 0}, { 8, 50, 3, 24, 20, 0}, - { 8, 50, 2, 24, 20, 0}, { 8, 51, 1, 24, 20, 0}, { 8, 52, 0, 24, 20, 0}, { 8, 52, -1, 24, 20, 0}, { 8, 53, -2, 24, 20, 0}, - { 8, 53, -3, 24, 20, 0}, { 7, 54, -4, 24, 20, 0}, { 7, 54, -5, 24, 20, 0}, { 7, 54, -6, 24, 20, 0}, { 7, 55, -8, 24, 20, 0}, - { 7, 55, -9, 24, 20, 0}, { 7, 56, -10, 24, 20, 0}, { 7, 56, -11, 24, 20, 0}, { 6, 56, -12, 24, 19, 0}, { 6, 57, -13, 24, 19, 0}, - { 6, 57, -14, 24, 19, 0}, { 6, 58, -15, 24, 19, 0}, { 6, 58, -17, 24, 19, 0}, { 6, 58, -18, 24, 19, 0}, { 6, 58, -19, 24, 19, 0}, - { 6, 59, -20, 24, 19, 0}, { 5, 59, -21, 24, 19, 0}, { 5, 59, -22, 24, 19, 0}, { 5, 59, -24, 24, 19, 0}, { 5, 60, -25, 24, 19, 0}, - { 5, 60, -26, 24, 19, 0}, { 5, 60, -27, 24, 19, 0}, { 5, 60, -28, 24, 19, 0}, { 4, 60, -30, 24, 19, 0}, { 4, 60, -31, 24, 18, 0}, - { 4, 60, -32, 24, 18, 0}, { 4, 61, -33, 24, 18, 0}, { 4, 61, -34, 24, 18, 0}, { 4, 61, -36, 24, 18, 0}, { 4, 61, -37, 24, 18, 0}, - { 4, 61, -38, 24, 18, 0}, { 3, 61, -39, 24, 18, 0}, { 3, 61, -40, 24, 18, 0}, { 3, 61, -42, 24, 18, 0}, { 3, 61, -43, 24, 18, 0}, - { 3, 61, -44, 24, 18, 0}, { 3, 61, -45, 24, 18, 0}, { 3, 60, -46, 24, 18, 0}, { 3, 60, -48, 24, 18, 0}, { 2, 60, -49, 24, 17, 0}, - { 2, 60, -50, 24, 17, 0}, { 2, 60, -51, 24, 17, 0}, { 2, 60, -52, 24, 17, 0}, { 2, 60, -54, 24, 17, 0}, { 2, 59, -55, 24, 17, 0}, - { 2, 59, -56, 24, 17, 0}, { 1, 59, -57, 24, 17, 0}, { 1, 59, -58, 24, 17, 0}, { 1, 58, -60, 24, 17, 0}, { 1, 58, -61, 24, 17, 0}, - { 1, 58, -62, 24, 17, 0}, { 1, 58, -63, 24, 17, 0}, { 1, 57, -64, 24, 17, 0}, { 1, 57, -65, 24, 17, 0}, { 0, 57, -67, 24, 17, 0}, - { 0, 56, -68, 24, 17, 0}, { 0, 56, -69, 24, 17, 0}, { 0, 56, -70, 24, 17, 0}, { 0, 55, -71, 24, 17, 0}, { 0, 55, -72, 24, 17, 0}, - { 0, 55, -73, 24, 17, 0}, { 0, 54, -75, 24, 17, 0}, { -1, 54, -76, 24, 17, 0}, { -1, 53, -77, 24, 8, 0}, { -1, 53, -78, 24, 8, 0}, - { -1, 53, -79, 24, 8, 0}, { -1, 52, -80, 24, 8, 0}, { -1, 52, -81, 24, 8, 0}, { -1, 51, -82, 24, 8, 0}, { -2, 51, -83, 24, 8, 0}, - { -2, 50, -84, 24, 8, 0}, { -2, 50, -85, 24, 8, 0}, { -2, 50, -87, 24, 8, 0}, { -2, 49, -88, 24, 8, 0}, { -2, 49, -89, 24, 8, 0}, - { -2, 48, -90, 24, 8, 0}, { -2, 48, -91, 24, 8, 0}, { -3, 47, -92, 24, 8, 0}, { -3, 47, -93, 24, 8, 0}, { -3, 46, -94, 24, 8, 0}, - { -3, 45, -95, 24, 8, 0}, { -3, 45, -96, 24, 8, 0}, { -3, 44, -97, 24, 8, 0}, { -3, 44, -98, 24, 8, 0}, { -3, 43, -99, 24, 8, 0}, - { -4, 43, -100, 24, 8, 0}, { -4, 42, -101, 24, 8, 0}, { -4, 42, -102, 24, 8, 0}, { -4, 41, -103, 24, 8, 0}, { -4, 40, -104, 24, 8, 0}, - { -4, 40, -105, 24, 8, 0}, { -4, 39, -106, 24, 8, 0}, { -5, 38, -107, 24, 8, 0}, { -5, 38, -108, 24, 8, 0}, { -5, 37, -109, 24, 8, 0}, - { -5, 37, -110, 24, 8, 0}, { -5, 36, -110, 24, 8, 0}, { -5, 35, -111, 24, 7, 0}, { -5, 35, -112, 24, 7, 0}, { -5, 34, -113, 24, 7, 0}, - { -6, 33, -114, 24, 7, 0}, { -6, 33, -115, 24, 7, 0}, { -6, 32, -116, 24, 7, 0}, { -6, 31, -117, 24, 7, 0}, { -6, 31, -118, 24, 7, 0}, - { -6, 30, -119, 24, 7, 0}, { -6, 29, -119, 24, 7, 0}, { -6, 29, -120, 24, 7, 0}, { -7, 28, -121, 24, 7, 0}, { -7, 27, -122, 24, 7, 0}, - { -7, 26, -123, 24, 7, 0}, { -7, 26, -124, 24, 7, 0}, { -7, 25, -124, 24, 7, 0}, { -7, 24, -125, 24, 7, 0}, { -7, 24, -126, 24, 7, 0}, - { -8, 23, -127, 24, 7, 0}, { -8, 22, -128, 24, 7, 0}, { -8, 21, -129, 24, 7, 0}, { -8, 21, -129, 24, 7, 0}, { -8, 20, -130, 24, 7, 0}, - { -8, 19, -131, 24, 7, 0}, { -8, 18, -132, 24, 7, 0}, { -8, 18, -132, 24, 7, 0}, { -9, 17, -133, 24, 7, 0}, { -9, 16, -134, 24, 7, 0}, - { -9, 15, -135, 24, 7, 0}, { -9, 14, -135, 24, 7, 0}, { -9, 14, -136, 24, 7, 0}, { -9, 13, -137, 24, 7, 0}, { -9, 12, -138, 24, 7, 0}, - { -9, 11, -138, 24, 7, 0}, { -10, 11, -139, 24, 7, 0}, { -10, 10, -140, 24, 7, 0}, { -10, 9, -141, 24, 7, 0}, { -10, 8, -141, 24, 7, 0}, - { -10, 7, -142, 24, 7, 0}, { -10, 6, -143, 24, 7, 0}, { -10, 6, -143, 24, 7, 0}, { -11, 5, -144, 24, 7, 0}, { -11, 4, -145, 24, 7, 0}, - { -11, 3, -145, 24, 7, 0}, { -11, 2, -146, 24, 7, 0}, { -11, 1, -147, 24, 7, 0}, { -11, 1, -147, 24, 7, 0}, { -11, 0, -148, 24, 7, 0}, - { -11, -1, -149, 24, 7, 0}, { -12, -2, -149, 24, 7, 0}, { -12, -3, -150, 24, 6, 0}, { -12, -4, -150, 24, 6, 0}, { -12, -4, -151, 24, 6, 0}, - { -12, -5, -152, 24, 6, 0}, { -12, -6, -152, 24, 6, 0}, { -12, -7, -153, 24, 6, 0}, { -12, -8, -154, 24, 6, 0}, { -13, -9, -154, 24, 6, 0}, - { -13, -10, -155, 24, 6, 0}, { -13, -11, -155, 24, 6, 0}, { -13, -11, -156, 24, 6, 0}, { -13, -12, -156, 24, 6, 0}, { -13, -13, -157, 24, 6, 0}, - { -13, -14, -158, 24, 6, 0}, { -14, -15, -158, 24, 6, 0}, { -14, -16, -159, 24, 6, 0}, { -14, -17, -159, 24, 6, 0}, { -14, -18, -160, 24, 6, 0}, - { -14, -18, -160, 24, 6, 0}, { -14, -19, -161, 24, 6, 0}, { -14, -20, -161, 24, 6, 0}, { -14, -21, -162, 24, 6, 0}, { -15, -22, -162, 24, 6, 0}, - { -15, -23, -163, 24, 6, 0}, { -15, -24, -163, 24, 6, 0}, { -15, -25, -164, 24, 6, 0}, { -15, -26, -164, 24, 6, 0}, { -15, -26, -165, 24, 6, 0}, - { -15, -27, -165, 24, 6, 0}, { -15, -28, -166, 24, 6, 0}, { -16, -29, -166, 24, 6, 0}, { -16, -30, -167, 24, 6, 0}, { -16, -31, -167, 24, 6, 0}, + {16, 0, 35, 24, 16, 0}, {16, 1, 35, 24, 16, 0}, {16, 2, 35, 24, 16, 0}, {16, 3, 35, 24, 16, 0}, {15, 4, 35, 24, 16, 0}, + {15, 5, 35, 24, 16, 0}, {15, 6, 35, 24, 16, 0}, {15, 7, 35, 24, 16, 0}, {15, 8, 34, 24, 23, 0}, {15, 9, 34, 24, 23, 0}, + {15, 10, 34, 24, 23, 0}, {15, 11, 34, 24, 23, 0}, {14, 12, 34, 24, 23, 0}, {14, 13, 33, 24, 23, 0}, {14, 14, 33, 24, 23, 0}, + {14, 15, 33, 24, 23, 0}, {14, 16, 32, 24, 23, 0}, {14, 17, 32, 24, 23, 0}, {14, 18, 32, 24, 23, 0}, {14, 19, 31, 24, 23, 0}, + {13, 20, 31, 24, 23, 0}, {13, 21, 31, 24, 23, 0}, {13, 21, 30, 24, 23, 0}, {13, 22, 30, 24, 23, 0}, {13, 23, 29, 24, 22, 0}, + {13, 24, 29, 24, 22, 0}, {13, 25, 28, 24, 22, 0}, {12, 26, 28, 24, 22, 0}, {12, 27, 27, 24, 22, 0}, {12, 28, 27, 24, 22, 0}, + {12, 29, 26, 24, 22, 0}, {12, 30, 26, 24, 22, 0}, {12, 30, 25, 24, 22, 0}, {12, 31, 24, 24, 22, 0}, {12, 32, 24, 24, 22, 0}, + {11, 33, 23, 24, 22, 0}, {11, 34, 22, 24, 22, 0}, {11, 35, 22, 24, 22, 0}, {11, 35, 21, 24, 22, 0}, {11, 36, 20, 24, 22, 0}, + {11, 37, 20, 24, 21, 0}, {11, 38, 19, 24, 21, 0}, {11, 39, 18, 24, 21, 0}, {10, 39, 17, 24, 21, 0}, {10, 40, 17, 24, 21, 0}, + {10, 41, 16, 24, 21, 0}, {10, 41, 15, 24, 21, 0}, {10, 42, 14, 24, 21, 0}, {10, 43, 13, 24, 21, 0}, {10, 44, 12, 24, 21, 0}, + {9, 44, 11, 24, 21, 0}, {9, 45, 11, 24, 21, 0}, {9, 46, 10, 24, 21, 0}, {9, 46, 9, 24, 21, 0}, {9, 47, 8, 24, 21, 0}, + {9, 48, 7, 24, 21, 0}, {9, 48, 6, 24, 21, 0}, {9, 49, 5, 24, 20, 0}, {8, 49, 4, 24, 20, 0}, {8, 50, 3, 24, 20, 0}, + {8, 50, 2, 24, 20, 0}, {8, 51, 1, 24, 20, 0}, {8, 52, 0, 24, 20, 0}, {8, 52, -1, 24, 20, 0}, {8, 53, -2, 24, 20, 0}, + {8, 53, -3, 24, 20, 0}, {7, 54, -4, 24, 20, 0}, {7, 54, -5, 24, 20, 0}, {7, 54, -6, 24, 20, 0}, {7, 55, -8, 24, 20, 0}, + {7, 55, -9, 24, 20, 0}, {7, 56, -10, 24, 20, 0}, {7, 56, -11, 24, 20, 0}, {6, 56, -12, 24, 19, 0}, {6, 57, -13, 24, 19, 0}, + {6, 57, -14, 24, 19, 0}, {6, 58, -15, 24, 19, 0}, {6, 58, -17, 24, 19, 0}, {6, 58, -18, 24, 19, 0}, {6, 58, -19, 24, 19, 0}, + {6, 59, -20, 24, 19, 0}, {5, 59, -21, 24, 19, 0}, {5, 59, -22, 24, 19, 0}, {5, 59, -24, 24, 19, 0}, {5, 60, -25, 24, 19, 0}, + {5, 60, -26, 24, 19, 0}, {5, 60, -27, 24, 19, 0}, {5, 60, -28, 24, 19, 0}, {4, 60, -30, 24, 19, 0}, {4, 60, -31, 24, 18, 0}, + {4, 60, -32, 24, 18, 0}, {4, 61, -33, 24, 18, 0}, {4, 61, -34, 24, 18, 0}, {4, 61, -36, 24, 18, 0}, {4, 61, -37, 24, 18, 0}, + {4, 61, -38, 24, 18, 0}, {3, 61, -39, 24, 18, 0}, {3, 61, -40, 24, 18, 0}, {3, 61, -42, 24, 18, 0}, {3, 61, -43, 24, 18, 0}, + {3, 61, -44, 24, 18, 0}, {3, 61, -45, 24, 18, 0}, {3, 60, -46, 24, 18, 0}, {3, 60, -48, 24, 18, 0}, {2, 60, -49, 24, 17, 0}, + {2, 60, -50, 24, 17, 0}, {2, 60, -51, 24, 17, 0}, {2, 60, -52, 24, 17, 0}, {2, 60, -54, 24, 17, 0}, {2, 59, -55, 24, 17, 0}, + {2, 59, -56, 24, 17, 0}, {1, 59, -57, 24, 17, 0}, {1, 59, -58, 24, 17, 0}, {1, 58, -60, 24, 17, 0}, {1, 58, -61, 24, 17, 0}, + {1, 58, -62, 24, 17, 0}, {1, 58, -63, 24, 17, 0}, {1, 57, -64, 24, 17, 0}, {1, 57, -65, 24, 17, 0}, {0, 57, -67, 24, 17, 0}, + {0, 56, -68, 24, 17, 0}, {0, 56, -69, 24, 17, 0}, {0, 56, -70, 24, 17, 0}, {0, 55, -71, 24, 17, 0}, {0, 55, -72, 24, 17, 0}, + {0, 55, -73, 24, 17, 0}, {0, 54, -75, 24, 17, 0}, {-1, 54, -76, 24, 17, 0}, {-1, 53, -77, 24, 8, 0}, {-1, 53, -78, 24, 8, 0}, + {-1, 53, -79, 24, 8, 0}, {-1, 52, -80, 24, 8, 0}, {-1, 52, -81, 24, 8, 0}, {-1, 51, -82, 24, 8, 0}, {-2, 51, -83, 24, 8, 0}, + {-2, 50, -84, 24, 8, 0}, {-2, 50, -85, 24, 8, 0}, {-2, 50, -87, 24, 8, 0}, {-2, 49, -88, 24, 8, 0}, {-2, 49, -89, 24, 8, 0}, + {-2, 48, -90, 24, 8, 0}, {-2, 48, -91, 24, 8, 0}, {-3, 47, -92, 24, 8, 0}, {-3, 47, -93, 24, 8, 0}, {-3, 46, -94, 24, 8, 0}, + {-3, 45, -95, 24, 8, 0}, {-3, 45, -96, 24, 8, 0}, {-3, 44, -97, 24, 8, 0}, {-3, 44, -98, 24, 8, 0}, {-3, 43, -99, 24, 8, 0}, + {-4, 43, -100, 24, 8, 0}, {-4, 42, -101, 24, 8, 0}, {-4, 42, -102, 24, 8, 0}, {-4, 41, -103, 24, 8, 0}, {-4, 40, -104, 24, 8, 0}, + {-4, 40, -105, 24, 8, 0}, {-4, 39, -106, 24, 8, 0}, {-5, 38, -107, 24, 8, 0}, {-5, 38, -108, 24, 8, 0}, {-5, 37, -109, 24, 8, 0}, + {-5, 37, -110, 24, 8, 0}, {-5, 36, -110, 24, 8, 0}, {-5, 35, -111, 24, 7, 0}, {-5, 35, -112, 24, 7, 0}, {-5, 34, -113, 24, 7, 0}, + {-6, 33, -114, 24, 7, 0}, {-6, 33, -115, 24, 7, 0}, {-6, 32, -116, 24, 7, 0}, {-6, 31, -117, 24, 7, 0}, {-6, 31, -118, 24, 7, 0}, + {-6, 30, -119, 24, 7, 0}, {-6, 29, -119, 24, 7, 0}, {-6, 29, -120, 24, 7, 0}, {-7, 28, -121, 24, 7, 0}, {-7, 27, -122, 24, 7, 0}, + {-7, 26, -123, 24, 7, 0}, {-7, 26, -124, 24, 7, 0}, {-7, 25, -124, 24, 7, 0}, {-7, 24, -125, 24, 7, 0}, {-7, 24, -126, 24, 7, 0}, + {-8, 23, -127, 24, 7, 0}, {-8, 22, -128, 24, 7, 0}, {-8, 21, -129, 24, 7, 0}, {-8, 21, -129, 24, 7, 0}, {-8, 20, -130, 24, 7, 0}, + {-8, 19, -131, 24, 7, 0}, {-8, 18, -132, 24, 7, 0}, {-8, 18, -132, 24, 7, 0}, {-9, 17, -133, 24, 7, 0}, {-9, 16, -134, 24, 7, 0}, + {-9, 15, -135, 24, 7, 0}, {-9, 14, -135, 24, 7, 0}, {-9, 14, -136, 24, 7, 0}, {-9, 13, -137, 24, 7, 0}, {-9, 12, -138, 24, 7, 0}, + {-9, 11, -138, 24, 7, 0}, {-10, 11, -139, 24, 7, 0}, {-10, 10, -140, 24, 7, 0}, {-10, 9, -141, 24, 7, 0}, {-10, 8, -141, 24, 7, 0}, + {-10, 7, -142, 24, 7, 0}, {-10, 6, -143, 24, 7, 0}, {-10, 6, -143, 24, 7, 0}, {-11, 5, -144, 24, 7, 0}, {-11, 4, -145, 24, 7, 0}, + {-11, 3, -145, 24, 7, 0}, {-11, 2, -146, 24, 7, 0}, {-11, 1, -147, 24, 7, 0}, {-11, 1, -147, 24, 7, 0}, {-11, 0, -148, 24, 7, 0}, + {-11, -1, -149, 24, 7, 0}, {-12, -2, -149, 24, 7, 0}, {-12, -3, -150, 24, 6, 0}, {-12, -4, -150, 24, 6, 0}, {-12, -4, -151, 24, 6, 0}, + {-12, -5, -152, 24, 6, 0}, {-12, -6, -152, 24, 6, 0}, {-12, -7, -153, 24, 6, 0}, {-12, -8, -154, 24, 6, 0}, {-13, -9, -154, 24, 6, 0}, + {-13, -10, -155, 24, 6, 0}, {-13, -11, -155, 24, 6, 0}, {-13, -11, -156, 24, 6, 0}, {-13, -12, -156, 24, 6, 0}, {-13, -13, -157, 24, 6, 0}, + {-13, -14, -158, 24, 6, 0}, {-14, -15, -158, 24, 6, 0}, {-14, -16, -159, 24, 6, 0}, {-14, -17, -159, 24, 6, 0}, {-14, -18, -160, 24, 6, 0}, + {-14, -18, -160, 24, 6, 0}, {-14, -19, -161, 24, 6, 0}, {-14, -20, -161, 24, 6, 0}, {-14, -21, -162, 24, 6, 0}, {-15, -22, -162, 24, 6, 0}, + {-15, -23, -163, 24, 6, 0}, {-15, -24, -163, 24, 6, 0}, {-15, -25, -164, 24, 6, 0}, {-15, -26, -164, 24, 6, 0}, {-15, -26, -165, 24, 6, 0}, + {-15, -27, -165, 24, 6, 0}, {-15, -28, -166, 24, 6, 0}, {-16, -29, -166, 24, 6, 0}, {-16, -30, -167, 24, 6, 0}, {-16, -31, -167, 24, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopDown2, { - { 0, 16, 35, 0, 16, 0}, { 1, 16, 35, 0, 16, 0}, { 2, 16, 35, 0, 16, 0}, { 3, 16, 35, 0, 16, 0}, { 4, 17, 35, 0, 16, 0}, - { 5, 17, 35, 0, 16, 0}, { 6, 17, 35, 0, 16, 0}, { 7, 17, 35, 0, 16, 0}, { 8, 17, 34, 0, 23, 0}, { 9, 17, 34, 0, 23, 0}, - { 10, 17, 34, 0, 23, 0}, { 11, 17, 34, 0, 23, 0}, { 12, 18, 34, 0, 23, 0}, { 13, 18, 33, 0, 23, 0}, { 14, 18, 33, 0, 23, 0}, - { 15, 18, 33, 0, 23, 0}, { 16, 18, 32, 0, 23, 0}, { 17, 18, 32, 0, 23, 0}, { 18, 18, 32, 0, 23, 0}, { 19, 18, 31, 0, 23, 0}, - { 20, 19, 31, 0, 23, 0}, { 21, 19, 31, 0, 23, 0}, { 21, 19, 30, 0, 23, 0}, { 22, 19, 30, 0, 23, 0}, { 23, 19, 29, 0, 22, 0}, - { 24, 19, 29, 0, 22, 0}, { 25, 19, 28, 0, 22, 0}, { 26, 20, 28, 0, 22, 0}, { 27, 20, 27, 0, 22, 0}, { 28, 20, 27, 0, 22, 0}, - { 29, 20, 26, 0, 22, 0}, { 30, 20, 26, 0, 22, 0}, { 30, 20, 25, 0, 22, 0}, { 31, 20, 24, 0, 22, 0}, { 32, 20, 24, 0, 22, 0}, - { 33, 21, 23, 0, 22, 0}, { 34, 21, 22, 0, 22, 0}, { 35, 21, 22, 0, 22, 0}, { 35, 21, 21, 0, 22, 0}, { 36, 21, 20, 0, 22, 0}, - { 37, 21, 20, 0, 21, 0}, { 38, 21, 19, 0, 21, 0}, { 39, 21, 18, 0, 21, 0}, { 39, 22, 17, 0, 21, 0}, { 40, 22, 17, 0, 21, 0}, - { 41, 22, 16, 0, 21, 0}, { 41, 22, 15, 0, 21, 0}, { 42, 22, 14, 0, 21, 0}, { 43, 22, 13, 0, 21, 0}, { 44, 22, 12, 0, 21, 0}, - { 44, 23, 11, 0, 21, 0}, { 45, 23, 11, 0, 21, 0}, { 46, 23, 10, 0, 21, 0}, { 46, 23, 9, 0, 21, 0}, { 47, 23, 8, 0, 21, 0}, - { 48, 23, 7, 0, 21, 0}, { 48, 23, 6, 0, 21, 0}, { 49, 23, 5, 0, 20, 0}, { 49, 24, 4, 0, 20, 0}, { 50, 24, 3, 0, 20, 0}, - { 50, 24, 2, 0, 20, 0}, { 51, 24, 1, 0, 20, 0}, { 52, 24, 0, 0, 20, 0}, { 52, 24, -1, 0, 20, 0}, { 53, 24, -2, 0, 20, 0}, - { 53, 24, -3, 0, 20, 0}, { 54, 25, -4, 0, 20, 0}, { 54, 25, -5, 0, 20, 0}, { 54, 25, -6, 0, 20, 0}, { 55, 25, -8, 0, 20, 0}, - { 55, 25, -9, 0, 20, 0}, { 56, 25, -10, 0, 20, 0}, { 56, 25, -11, 0, 20, 0}, { 56, 26, -12, 0, 19, 0}, { 57, 26, -13, 0, 19, 0}, - { 57, 26, -14, 0, 19, 0}, { 58, 26, -15, 0, 19, 0}, { 58, 26, -17, 0, 19, 0}, { 58, 26, -18, 0, 19, 0}, { 58, 26, -19, 0, 19, 0}, - { 59, 26, -20, 0, 19, 0}, { 59, 27, -21, 0, 19, 0}, { 59, 27, -22, 0, 19, 0}, { 59, 27, -24, 0, 19, 0}, { 60, 27, -25, 0, 19, 0}, - { 60, 27, -26, 0, 19, 0}, { 60, 27, -27, 0, 19, 0}, { 60, 27, -28, 0, 19, 0}, { 60, 28, -30, 0, 19, 0}, { 60, 28, -31, 0, 18, 0}, - { 60, 28, -32, 0, 18, 0}, { 61, 28, -33, 0, 18, 0}, { 61, 28, -34, 0, 18, 0}, { 61, 28, -36, 0, 18, 0}, { 61, 28, -37, 0, 18, 0}, - { 61, 28, -38, 0, 18, 0}, { 61, 29, -39, 0, 18, 0}, { 61, 29, -40, 0, 18, 0}, { 61, 29, -42, 0, 18, 0}, { 61, 29, -43, 0, 18, 0}, - { 61, 29, -44, 0, 18, 0}, { 61, 29, -45, 0, 18, 0}, { 60, 29, -46, 0, 18, 0}, { 60, 29, -48, 0, 18, 0}, { 60, 30, -49, 0, 17, 0}, - { 60, 30, -50, 0, 17, 0}, { 60, 30, -51, 0, 17, 0}, { 60, 30, -52, 0, 17, 0}, { 60, 30, -54, 0, 17, 0}, { 59, 30, -55, 0, 17, 0}, - { 59, 30, -56, 0, 17, 0}, { 59, 31, -57, 0, 17, 0}, { 59, 31, -58, 0, 17, 0}, { 58, 31, -60, 0, 17, 0}, { 58, 31, -61, 0, 17, 0}, - { 58, 31, -62, 0, 17, 0}, { 58, 31, -63, 0, 17, 0}, { 57, 31, -64, 0, 17, 0}, { 57, 31, -65, 0, 17, 0}, { 57, 32, -67, 0, 17, 0}, - { 56, 32, -68, 0, 17, 0}, { 56, 32, -69, 0, 17, 0}, { 56, 32, -70, 0, 17, 0}, { 55, 32, -71, 0, 17, 0}, { 55, 32, -72, 0, 17, 0}, - { 55, 32, -73, 0, 17, 0}, { 54, 32, -75, 0, 17, 0}, { 54, 33, -76, 0, 17, 0}, { 53, 33, -77, 0, 8, 0}, { 53, 33, -78, 0, 8, 0}, - { 53, 33, -79, 0, 8, 0}, { 52, 33, -80, 0, 8, 0}, { 52, 33, -81, 0, 8, 0}, { 51, 33, -82, 0, 8, 0}, { 51, 34, -83, 0, 8, 0}, - { 50, 34, -84, 0, 8, 0}, { 50, 34, -85, 0, 8, 0}, { 50, 34, -87, 0, 8, 0}, { 49, 34, -88, 0, 8, 0}, { 49, 34, -89, 0, 8, 0}, - { 48, 34, -90, 0, 8, 0}, { 48, 34, -91, 0, 8, 0}, { 47, 35, -92, 0, 8, 0}, { 47, 35, -93, 0, 8, 0}, { 46, 35, -94, 0, 8, 0}, - { 45, 35, -95, 0, 8, 0}, { 45, 35, -96, 0, 8, 0}, { 44, 35, -97, 0, 8, 0}, { 44, 35, -98, 0, 8, 0}, { 43, 35, -99, 0, 8, 0}, - { 43, 36, -100, 0, 8, 0}, { 42, 36, -101, 0, 8, 0}, { 42, 36, -102, 0, 8, 0}, { 41, 36, -103, 0, 8, 0}, { 40, 36, -104, 0, 8, 0}, - { 40, 36, -105, 0, 8, 0}, { 39, 36, -106, 0, 8, 0}, { 38, 37, -107, 0, 8, 0}, { 38, 37, -108, 0, 8, 0}, { 37, 37, -109, 0, 8, 0}, - { 37, 37, -110, 0, 8, 0}, { 36, 37, -110, 0, 8, 0}, { 35, 37, -111, 0, 7, 0}, { 35, 37, -112, 0, 7, 0}, { 34, 37, -113, 0, 7, 0}, - { 33, 38, -114, 0, 7, 0}, { 33, 38, -115, 0, 7, 0}, { 32, 38, -116, 0, 7, 0}, { 31, 38, -117, 0, 7, 0}, { 31, 38, -118, 0, 7, 0}, - { 30, 38, -119, 0, 7, 0}, { 29, 38, -119, 0, 7, 0}, { 29, 38, -120, 0, 7, 0}, { 28, 39, -121, 0, 7, 0}, { 27, 39, -122, 0, 7, 0}, - { 26, 39, -123, 0, 7, 0}, { 26, 39, -124, 0, 7, 0}, { 25, 39, -124, 0, 7, 0}, { 24, 39, -125, 0, 7, 0}, { 24, 39, -126, 0, 7, 0}, - { 23, 40, -127, 0, 7, 0}, { 22, 40, -128, 0, 7, 0}, { 21, 40, -129, 0, 7, 0}, { 21, 40, -129, 0, 7, 0}, { 20, 40, -130, 0, 7, 0}, - { 19, 40, -131, 0, 7, 0}, { 18, 40, -132, 0, 7, 0}, { 18, 40, -132, 0, 7, 0}, { 17, 41, -133, 0, 7, 0}, { 16, 41, -134, 0, 7, 0}, - { 15, 41, -135, 0, 7, 0}, { 14, 41, -135, 0, 7, 0}, { 14, 41, -136, 0, 7, 0}, { 13, 41, -137, 0, 7, 0}, { 12, 41, -138, 0, 7, 0}, - { 11, 41, -138, 0, 7, 0}, { 11, 42, -139, 0, 7, 0}, { 10, 42, -140, 0, 7, 0}, { 9, 42, -141, 0, 7, 0}, { 8, 42, -141, 0, 7, 0}, - { 7, 42, -142, 0, 7, 0}, { 6, 42, -143, 0, 7, 0}, { 6, 42, -143, 0, 7, 0}, { 5, 43, -144, 0, 7, 0}, { 4, 43, -145, 0, 7, 0}, - { 3, 43, -145, 0, 7, 0}, { 2, 43, -146, 0, 7, 0}, { 1, 43, -147, 0, 7, 0}, { 1, 43, -147, 0, 7, 0}, { 0, 43, -148, 0, 7, 0}, - { -1, 43, -149, 0, 7, 0}, { -2, 44, -149, 0, 7, 0}, { -3, 44, -150, 0, 6, 0}, { -4, 44, -150, 0, 6, 0}, { -4, 44, -151, 0, 6, 0}, - { -5, 44, -152, 0, 6, 0}, { -6, 44, -152, 0, 6, 0}, { -7, 44, -153, 0, 6, 0}, { -8, 44, -154, 0, 6, 0}, { -9, 45, -154, 0, 6, 0}, - { -10, 45, -155, 0, 6, 0}, { -11, 45, -155, 0, 6, 0}, { -11, 45, -156, 0, 6, 0}, { -12, 45, -156, 0, 6, 0}, { -13, 45, -157, 0, 6, 0}, - { -14, 45, -158, 0, 6, 0}, { -15, 46, -158, 0, 6, 0}, { -16, 46, -159, 0, 6, 0}, { -17, 46, -159, 0, 6, 0}, { -18, 46, -160, 0, 6, 0}, - { -18, 46, -160, 0, 6, 0}, { -19, 46, -161, 0, 6, 0}, { -20, 46, -161, 0, 6, 0}, { -21, 46, -162, 0, 6, 0}, { -22, 47, -162, 0, 6, 0}, - { -23, 47, -163, 0, 6, 0}, { -24, 47, -163, 0, 6, 0}, { -25, 47, -164, 0, 6, 0}, { -26, 47, -164, 0, 6, 0}, { -26, 47, -165, 0, 6, 0}, - { -27, 47, -165, 0, 6, 0}, { -28, 47, -166, 0, 6, 0}, { -29, 48, -166, 0, 6, 0}, { -30, 48, -167, 0, 6, 0}, { -31, 48, -167, 0, 6, 0}, + {0, 16, 35, 0, 16, 0}, {1, 16, 35, 0, 16, 0}, {2, 16, 35, 0, 16, 0}, {3, 16, 35, 0, 16, 0}, {4, 17, 35, 0, 16, 0}, + {5, 17, 35, 0, 16, 0}, {6, 17, 35, 0, 16, 0}, {7, 17, 35, 0, 16, 0}, {8, 17, 34, 0, 23, 0}, {9, 17, 34, 0, 23, 0}, + {10, 17, 34, 0, 23, 0}, {11, 17, 34, 0, 23, 0}, {12, 18, 34, 0, 23, 0}, {13, 18, 33, 0, 23, 0}, {14, 18, 33, 0, 23, 0}, + {15, 18, 33, 0, 23, 0}, {16, 18, 32, 0, 23, 0}, {17, 18, 32, 0, 23, 0}, {18, 18, 32, 0, 23, 0}, {19, 18, 31, 0, 23, 0}, + {20, 19, 31, 0, 23, 0}, {21, 19, 31, 0, 23, 0}, {21, 19, 30, 0, 23, 0}, {22, 19, 30, 0, 23, 0}, {23, 19, 29, 0, 22, 0}, + {24, 19, 29, 0, 22, 0}, {25, 19, 28, 0, 22, 0}, {26, 20, 28, 0, 22, 0}, {27, 20, 27, 0, 22, 0}, {28, 20, 27, 0, 22, 0}, + {29, 20, 26, 0, 22, 0}, {30, 20, 26, 0, 22, 0}, {30, 20, 25, 0, 22, 0}, {31, 20, 24, 0, 22, 0}, {32, 20, 24, 0, 22, 0}, + {33, 21, 23, 0, 22, 0}, {34, 21, 22, 0, 22, 0}, {35, 21, 22, 0, 22, 0}, {35, 21, 21, 0, 22, 0}, {36, 21, 20, 0, 22, 0}, + {37, 21, 20, 0, 21, 0}, {38, 21, 19, 0, 21, 0}, {39, 21, 18, 0, 21, 0}, {39, 22, 17, 0, 21, 0}, {40, 22, 17, 0, 21, 0}, + {41, 22, 16, 0, 21, 0}, {41, 22, 15, 0, 21, 0}, {42, 22, 14, 0, 21, 0}, {43, 22, 13, 0, 21, 0}, {44, 22, 12, 0, 21, 0}, + {44, 23, 11, 0, 21, 0}, {45, 23, 11, 0, 21, 0}, {46, 23, 10, 0, 21, 0}, {46, 23, 9, 0, 21, 0}, {47, 23, 8, 0, 21, 0}, + {48, 23, 7, 0, 21, 0}, {48, 23, 6, 0, 21, 0}, {49, 23, 5, 0, 20, 0}, {49, 24, 4, 0, 20, 0}, {50, 24, 3, 0, 20, 0}, + {50, 24, 2, 0, 20, 0}, {51, 24, 1, 0, 20, 0}, {52, 24, 0, 0, 20, 0}, {52, 24, -1, 0, 20, 0}, {53, 24, -2, 0, 20, 0}, + {53, 24, -3, 0, 20, 0}, {54, 25, -4, 0, 20, 0}, {54, 25, -5, 0, 20, 0}, {54, 25, -6, 0, 20, 0}, {55, 25, -8, 0, 20, 0}, + {55, 25, -9, 0, 20, 0}, {56, 25, -10, 0, 20, 0}, {56, 25, -11, 0, 20, 0}, {56, 26, -12, 0, 19, 0}, {57, 26, -13, 0, 19, 0}, + {57, 26, -14, 0, 19, 0}, {58, 26, -15, 0, 19, 0}, {58, 26, -17, 0, 19, 0}, {58, 26, -18, 0, 19, 0}, {58, 26, -19, 0, 19, 0}, + {59, 26, -20, 0, 19, 0}, {59, 27, -21, 0, 19, 0}, {59, 27, -22, 0, 19, 0}, {59, 27, -24, 0, 19, 0}, {60, 27, -25, 0, 19, 0}, + {60, 27, -26, 0, 19, 0}, {60, 27, -27, 0, 19, 0}, {60, 27, -28, 0, 19, 0}, {60, 28, -30, 0, 19, 0}, {60, 28, -31, 0, 18, 0}, + {60, 28, -32, 0, 18, 0}, {61, 28, -33, 0, 18, 0}, {61, 28, -34, 0, 18, 0}, {61, 28, -36, 0, 18, 0}, {61, 28, -37, 0, 18, 0}, + {61, 28, -38, 0, 18, 0}, {61, 29, -39, 0, 18, 0}, {61, 29, -40, 0, 18, 0}, {61, 29, -42, 0, 18, 0}, {61, 29, -43, 0, 18, 0}, + {61, 29, -44, 0, 18, 0}, {61, 29, -45, 0, 18, 0}, {60, 29, -46, 0, 18, 0}, {60, 29, -48, 0, 18, 0}, {60, 30, -49, 0, 17, 0}, + {60, 30, -50, 0, 17, 0}, {60, 30, -51, 0, 17, 0}, {60, 30, -52, 0, 17, 0}, {60, 30, -54, 0, 17, 0}, {59, 30, -55, 0, 17, 0}, + {59, 30, -56, 0, 17, 0}, {59, 31, -57, 0, 17, 0}, {59, 31, -58, 0, 17, 0}, {58, 31, -60, 0, 17, 0}, {58, 31, -61, 0, 17, 0}, + {58, 31, -62, 0, 17, 0}, {58, 31, -63, 0, 17, 0}, {57, 31, -64, 0, 17, 0}, {57, 31, -65, 0, 17, 0}, {57, 32, -67, 0, 17, 0}, + {56, 32, -68, 0, 17, 0}, {56, 32, -69, 0, 17, 0}, {56, 32, -70, 0, 17, 0}, {55, 32, -71, 0, 17, 0}, {55, 32, -72, 0, 17, 0}, + {55, 32, -73, 0, 17, 0}, {54, 32, -75, 0, 17, 0}, {54, 33, -76, 0, 17, 0}, {53, 33, -77, 0, 8, 0}, {53, 33, -78, 0, 8, 0}, + {53, 33, -79, 0, 8, 0}, {52, 33, -80, 0, 8, 0}, {52, 33, -81, 0, 8, 0}, {51, 33, -82, 0, 8, 0}, {51, 34, -83, 0, 8, 0}, + {50, 34, -84, 0, 8, 0}, {50, 34, -85, 0, 8, 0}, {50, 34, -87, 0, 8, 0}, {49, 34, -88, 0, 8, 0}, {49, 34, -89, 0, 8, 0}, + {48, 34, -90, 0, 8, 0}, {48, 34, -91, 0, 8, 0}, {47, 35, -92, 0, 8, 0}, {47, 35, -93, 0, 8, 0}, {46, 35, -94, 0, 8, 0}, + {45, 35, -95, 0, 8, 0}, {45, 35, -96, 0, 8, 0}, {44, 35, -97, 0, 8, 0}, {44, 35, -98, 0, 8, 0}, {43, 35, -99, 0, 8, 0}, + {43, 36, -100, 0, 8, 0}, {42, 36, -101, 0, 8, 0}, {42, 36, -102, 0, 8, 0}, {41, 36, -103, 0, 8, 0}, {40, 36, -104, 0, 8, 0}, + {40, 36, -105, 0, 8, 0}, {39, 36, -106, 0, 8, 0}, {38, 37, -107, 0, 8, 0}, {38, 37, -108, 0, 8, 0}, {37, 37, -109, 0, 8, 0}, + {37, 37, -110, 0, 8, 0}, {36, 37, -110, 0, 8, 0}, {35, 37, -111, 0, 7, 0}, {35, 37, -112, 0, 7, 0}, {34, 37, -113, 0, 7, 0}, + {33, 38, -114, 0, 7, 0}, {33, 38, -115, 0, 7, 0}, {32, 38, -116, 0, 7, 0}, {31, 38, -117, 0, 7, 0}, {31, 38, -118, 0, 7, 0}, + {30, 38, -119, 0, 7, 0}, {29, 38, -119, 0, 7, 0}, {29, 38, -120, 0, 7, 0}, {28, 39, -121, 0, 7, 0}, {27, 39, -122, 0, 7, 0}, + {26, 39, -123, 0, 7, 0}, {26, 39, -124, 0, 7, 0}, {25, 39, -124, 0, 7, 0}, {24, 39, -125, 0, 7, 0}, {24, 39, -126, 0, 7, 0}, + {23, 40, -127, 0, 7, 0}, {22, 40, -128, 0, 7, 0}, {21, 40, -129, 0, 7, 0}, {21, 40, -129, 0, 7, 0}, {20, 40, -130, 0, 7, 0}, + {19, 40, -131, 0, 7, 0}, {18, 40, -132, 0, 7, 0}, {18, 40, -132, 0, 7, 0}, {17, 41, -133, 0, 7, 0}, {16, 41, -134, 0, 7, 0}, + {15, 41, -135, 0, 7, 0}, {14, 41, -135, 0, 7, 0}, {14, 41, -136, 0, 7, 0}, {13, 41, -137, 0, 7, 0}, {12, 41, -138, 0, 7, 0}, + {11, 41, -138, 0, 7, 0}, {11, 42, -139, 0, 7, 0}, {10, 42, -140, 0, 7, 0}, {9, 42, -141, 0, 7, 0}, {8, 42, -141, 0, 7, 0}, + {7, 42, -142, 0, 7, 0}, {6, 42, -143, 0, 7, 0}, {6, 42, -143, 0, 7, 0}, {5, 43, -144, 0, 7, 0}, {4, 43, -145, 0, 7, 0}, + {3, 43, -145, 0, 7, 0}, {2, 43, -146, 0, 7, 0}, {1, 43, -147, 0, 7, 0}, {1, 43, -147, 0, 7, 0}, {0, 43, -148, 0, 7, 0}, + {-1, 43, -149, 0, 7, 0}, {-2, 44, -149, 0, 7, 0}, {-3, 44, -150, 0, 6, 0}, {-4, 44, -150, 0, 6, 0}, {-4, 44, -151, 0, 6, 0}, + {-5, 44, -152, 0, 6, 0}, {-6, 44, -152, 0, 6, 0}, {-7, 44, -153, 0, 6, 0}, {-8, 44, -154, 0, 6, 0}, {-9, 45, -154, 0, 6, 0}, + {-10, 45, -155, 0, 6, 0}, {-11, 45, -155, 0, 6, 0}, {-11, 45, -156, 0, 6, 0}, {-12, 45, -156, 0, 6, 0}, {-13, 45, -157, 0, 6, 0}, + {-14, 45, -158, 0, 6, 0}, {-15, 46, -158, 0, 6, 0}, {-16, 46, -159, 0, 6, 0}, {-17, 46, -159, 0, 6, 0}, {-18, 46, -160, 0, 6, 0}, + {-18, 46, -160, 0, 6, 0}, {-19, 46, -161, 0, 6, 0}, {-20, 46, -161, 0, 6, 0}, {-21, 46, -162, 0, 6, 0}, {-22, 47, -162, 0, 6, 0}, + {-23, 47, -163, 0, 6, 0}, {-24, 47, -163, 0, 6, 0}, {-25, 47, -164, 0, 6, 0}, {-26, 47, -164, 0, 6, 0}, {-26, 47, -165, 0, 6, 0}, + {-27, 47, -165, 0, 6, 0}, {-28, 47, -166, 0, 6, 0}, {-29, 48, -166, 0, 6, 0}, {-30, 48, -167, 0, 6, 0}, {-31, 48, -167, 0, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoLeftMediumHalfLoopDown3, { - { 16, 31, 35, 8, 16, 0}, { 16, 30, 35, 8, 16, 0}, { 16, 29, 35, 8, 16, 0}, { 17, 28, 35, 8, 16, 0}, { 17, 27, 35, 8, 16, 0}, - { 17, 26, 35, 8, 16, 0}, { 17, 25, 35, 8, 16, 0}, { 17, 24, 34, 8, 23, 0}, { 17, 23, 34, 8, 23, 0}, { 17, 22, 34, 8, 23, 0}, - { 17, 21, 34, 8, 23, 0}, { 18, 20, 34, 8, 23, 0}, { 18, 19, 33, 8, 23, 0}, { 18, 18, 33, 8, 23, 0}, { 18, 17, 33, 8, 23, 0}, - { 18, 16, 32, 8, 23, 0}, { 18, 15, 32, 8, 23, 0}, { 18, 14, 32, 8, 23, 0}, { 18, 13, 31, 8, 23, 0}, { 19, 12, 31, 8, 23, 0}, - { 19, 11, 31, 8, 23, 0}, { 19, 11, 30, 8, 23, 0}, { 19, 10, 30, 8, 23, 0}, { 19, 9, 29, 8, 22, 0}, { 19, 8, 29, 8, 22, 0}, - { 19, 7, 28, 8, 22, 0}, { 20, 6, 28, 8, 22, 0}, { 20, 5, 27, 8, 22, 0}, { 20, 4, 27, 8, 22, 0}, { 20, 3, 26, 8, 22, 0}, - { 20, 2, 26, 8, 22, 0}, { 20, 2, 25, 8, 22, 0}, { 20, 1, 24, 8, 22, 0}, { 20, 0, 24, 8, 22, 0}, { 21, -1, 23, 8, 22, 0}, - { 21, -2, 22, 8, 22, 0}, { 21, -3, 22, 8, 22, 0}, { 21, -3, 21, 8, 22, 0}, { 21, -4, 20, 8, 22, 0}, { 21, -5, 20, 8, 21, 0}, - { 21, -6, 19, 8, 21, 0}, { 21, -7, 18, 8, 21, 0}, { 22, -7, 17, 8, 21, 0}, { 22, -8, 17, 8, 21, 0}, { 22, -9, 16, 8, 21, 0}, - { 22, -9, 15, 8, 21, 0}, { 22, -10, 14, 8, 21, 0}, { 22, -11, 13, 8, 21, 0}, { 22, -12, 12, 8, 21, 0}, { 23, -12, 11, 8, 21, 0}, - { 23, -13, 11, 8, 21, 0}, { 23, -14, 10, 8, 21, 0}, { 23, -14, 9, 8, 21, 0}, { 23, -15, 8, 8, 21, 0}, { 23, -16, 7, 8, 21, 0}, - { 23, -16, 6, 8, 21, 0}, { 23, -17, 5, 8, 20, 0}, { 24, -17, 4, 8, 20, 0}, { 24, -18, 3, 8, 20, 0}, { 24, -18, 2, 8, 20, 0}, - { 24, -19, 1, 8, 20, 0}, { 24, -20, 0, 8, 20, 0}, { 24, -20, -1, 8, 20, 0}, { 24, -21, -2, 8, 20, 0}, { 24, -21, -3, 8, 20, 0}, - { 25, -22, -4, 8, 20, 0}, { 25, -22, -5, 8, 20, 0}, { 25, -22, -6, 8, 20, 0}, { 25, -23, -8, 8, 20, 0}, { 25, -23, -9, 8, 20, 0}, - { 25, -24, -10, 8, 20, 0}, { 25, -24, -11, 8, 20, 0}, { 26, -24, -12, 8, 19, 0}, { 26, -25, -13, 8, 19, 0}, { 26, -25, -14, 8, 19, 0}, - { 26, -26, -15, 8, 19, 0}, { 26, -26, -17, 8, 19, 0}, { 26, -26, -18, 8, 19, 0}, { 26, -26, -19, 8, 19, 0}, { 26, -27, -20, 8, 19, 0}, - { 27, -27, -21, 8, 19, 0}, { 27, -27, -22, 8, 19, 0}, { 27, -27, -24, 8, 19, 0}, { 27, -28, -25, 8, 19, 0}, { 27, -28, -26, 8, 19, 0}, - { 27, -28, -27, 8, 19, 0}, { 27, -28, -28, 8, 19, 0}, { 28, -28, -30, 8, 19, 0}, { 28, -28, -31, 8, 18, 0}, { 28, -28, -32, 8, 18, 0}, - { 28, -29, -33, 8, 18, 0}, { 28, -29, -34, 8, 18, 0}, { 28, -29, -36, 8, 18, 0}, { 28, -29, -37, 8, 18, 0}, { 28, -29, -38, 8, 18, 0}, - { 29, -29, -39, 8, 18, 0}, { 29, -29, -40, 8, 18, 0}, { 29, -29, -42, 8, 18, 0}, { 29, -29, -43, 8, 18, 0}, { 29, -29, -44, 8, 18, 0}, - { 29, -29, -45, 8, 18, 0}, { 29, -28, -46, 8, 18, 0}, { 29, -28, -48, 8, 18, 0}, { 30, -28, -49, 8, 17, 0}, { 30, -28, -50, 8, 17, 0}, - { 30, -28, -51, 8, 17, 0}, { 30, -28, -52, 8, 17, 0}, { 30, -28, -54, 8, 17, 0}, { 30, -27, -55, 8, 17, 0}, { 30, -27, -56, 8, 17, 0}, - { 31, -27, -57, 8, 17, 0}, { 31, -27, -58, 8, 17, 0}, { 31, -26, -60, 8, 17, 0}, { 31, -26, -61, 8, 17, 0}, { 31, -26, -62, 8, 17, 0}, - { 31, -26, -63, 8, 17, 0}, { 31, -25, -64, 8, 17, 0}, { 31, -25, -65, 8, 17, 0}, { 32, -25, -67, 8, 17, 0}, { 32, -24, -68, 8, 17, 0}, - { 32, -24, -69, 8, 17, 0}, { 32, -24, -70, 8, 17, 0}, { 32, -23, -71, 8, 17, 0}, { 32, -23, -72, 8, 17, 0}, { 32, -23, -73, 8, 17, 0}, - { 32, -22, -75, 8, 17, 0}, { 33, -22, -76, 8, 17, 0}, { 33, -21, -77, 8, 8, 0}, { 33, -21, -78, 8, 8, 0}, { 33, -21, -79, 8, 8, 0}, - { 33, -20, -80, 8, 8, 0}, { 33, -20, -81, 8, 8, 0}, { 33, -19, -82, 8, 8, 0}, { 34, -19, -83, 8, 8, 0}, { 34, -18, -84, 8, 8, 0}, - { 34, -18, -85, 8, 8, 0}, { 34, -18, -87, 8, 8, 0}, { 34, -17, -88, 8, 8, 0}, { 34, -17, -89, 8, 8, 0}, { 34, -16, -90, 8, 8, 0}, - { 34, -16, -91, 8, 8, 0}, { 35, -15, -92, 8, 8, 0}, { 35, -15, -93, 8, 8, 0}, { 35, -14, -94, 8, 8, 0}, { 35, -13, -95, 8, 8, 0}, - { 35, -13, -96, 8, 8, 0}, { 35, -12, -97, 8, 8, 0}, { 35, -12, -98, 8, 8, 0}, { 35, -11, -99, 8, 8, 0}, { 36, -11, -100, 8, 8, 0}, - { 36, -10, -101, 8, 8, 0}, { 36, -10, -102, 8, 8, 0}, { 36, -9, -103, 8, 8, 0}, { 36, -8, -104, 8, 8, 0}, { 36, -8, -105, 8, 8, 0}, - { 36, -7, -106, 8, 8, 0}, { 37, -6, -107, 8, 8, 0}, { 37, -6, -108, 8, 8, 0}, { 37, -5, -109, 8, 8, 0}, { 37, -5, -110, 8, 8, 0}, - { 37, -4, -110, 8, 8, 0}, { 37, -3, -111, 8, 7, 0}, { 37, -3, -112, 8, 7, 0}, { 37, -2, -113, 8, 7, 0}, { 38, -1, -114, 8, 7, 0}, - { 38, -1, -115, 8, 7, 0}, { 38, 0, -116, 8, 7, 0}, { 38, 1, -117, 8, 7, 0}, { 38, 1, -118, 8, 7, 0}, { 38, 2, -119, 8, 7, 0}, - { 38, 3, -119, 8, 7, 0}, { 38, 3, -120, 8, 7, 0}, { 39, 4, -121, 8, 7, 0}, { 39, 5, -122, 8, 7, 0}, { 39, 6, -123, 8, 7, 0}, - { 39, 6, -124, 8, 7, 0}, { 39, 7, -124, 8, 7, 0}, { 39, 8, -125, 8, 7, 0}, { 39, 8, -126, 8, 7, 0}, { 40, 9, -127, 8, 7, 0}, - { 40, 10, -128, 8, 7, 0}, { 40, 11, -129, 8, 7, 0}, { 40, 11, -129, 8, 7, 0}, { 40, 12, -130, 8, 7, 0}, { 40, 13, -131, 8, 7, 0}, - { 40, 14, -132, 8, 7, 0}, { 40, 14, -132, 8, 7, 0}, { 41, 15, -133, 8, 7, 0}, { 41, 16, -134, 8, 7, 0}, { 41, 17, -135, 8, 7, 0}, - { 41, 18, -135, 8, 7, 0}, { 41, 18, -136, 8, 7, 0}, { 41, 19, -137, 8, 7, 0}, { 41, 20, -138, 8, 7, 0}, { 41, 21, -138, 8, 7, 0}, - { 42, 21, -139, 8, 7, 0}, { 42, 22, -140, 8, 7, 0}, { 42, 23, -141, 8, 7, 0}, { 42, 24, -141, 8, 7, 0}, { 42, 25, -142, 8, 7, 0}, - { 42, 26, -143, 8, 7, 0}, { 42, 26, -143, 8, 7, 0}, { 43, 27, -144, 8, 7, 0}, { 43, 28, -145, 8, 7, 0}, { 43, 29, -145, 8, 7, 0}, - { 43, 30, -146, 8, 7, 0}, { 43, 31, -147, 8, 7, 0}, { 43, 31, -147, 8, 7, 0}, { 43, 32, -148, 8, 7, 0}, { 43, 33, -149, 8, 7, 0}, - { 44, 34, -149, 8, 7, 0}, { 44, 35, -150, 8, 6, 0}, { 44, 36, -150, 8, 6, 0}, { 44, 36, -151, 8, 6, 0}, { 44, 37, -152, 8, 6, 0}, - { 44, 38, -152, 8, 6, 0}, { 44, 39, -153, 8, 6, 0}, { 44, 40, -154, 8, 6, 0}, { 45, 41, -154, 8, 6, 0}, { 45, 42, -155, 8, 6, 0}, - { 45, 43, -155, 8, 6, 0}, { 45, 43, -156, 8, 6, 0}, { 45, 44, -156, 8, 6, 0}, { 45, 45, -157, 8, 6, 0}, { 45, 46, -158, 8, 6, 0}, - { 46, 47, -158, 8, 6, 0}, { 46, 48, -159, 8, 6, 0}, { 46, 49, -159, 8, 6, 0}, { 46, 50, -160, 8, 6, 0}, { 46, 50, -160, 8, 6, 0}, - { 46, 51, -161, 8, 6, 0}, { 46, 52, -161, 8, 6, 0}, { 46, 53, -162, 8, 6, 0}, { 47, 54, -162, 8, 6, 0}, { 47, 55, -163, 8, 6, 0}, - { 47, 56, -163, 8, 6, 0}, { 47, 57, -164, 8, 6, 0}, { 47, 58, -164, 8, 6, 0}, { 47, 58, -165, 8, 6, 0}, { 47, 59, -165, 8, 6, 0}, - { 47, 60, -166, 8, 6, 0}, { 48, 61, -166, 8, 6, 0}, { 48, 62, -167, 8, 6, 0}, { 48, 63, -167, 8, 6, 0}, { 48, 64, -168, 8, 6, 0}, + {16, 31, 35, 8, 16, 0}, {16, 30, 35, 8, 16, 0}, {16, 29, 35, 8, 16, 0}, {17, 28, 35, 8, 16, 0}, {17, 27, 35, 8, 16, 0}, + {17, 26, 35, 8, 16, 0}, {17, 25, 35, 8, 16, 0}, {17, 24, 34, 8, 23, 0}, {17, 23, 34, 8, 23, 0}, {17, 22, 34, 8, 23, 0}, + {17, 21, 34, 8, 23, 0}, {18, 20, 34, 8, 23, 0}, {18, 19, 33, 8, 23, 0}, {18, 18, 33, 8, 23, 0}, {18, 17, 33, 8, 23, 0}, + {18, 16, 32, 8, 23, 0}, {18, 15, 32, 8, 23, 0}, {18, 14, 32, 8, 23, 0}, {18, 13, 31, 8, 23, 0}, {19, 12, 31, 8, 23, 0}, + {19, 11, 31, 8, 23, 0}, {19, 11, 30, 8, 23, 0}, {19, 10, 30, 8, 23, 0}, {19, 9, 29, 8, 22, 0}, {19, 8, 29, 8, 22, 0}, + {19, 7, 28, 8, 22, 0}, {20, 6, 28, 8, 22, 0}, {20, 5, 27, 8, 22, 0}, {20, 4, 27, 8, 22, 0}, {20, 3, 26, 8, 22, 0}, + {20, 2, 26, 8, 22, 0}, {20, 2, 25, 8, 22, 0}, {20, 1, 24, 8, 22, 0}, {20, 0, 24, 8, 22, 0}, {21, -1, 23, 8, 22, 0}, + {21, -2, 22, 8, 22, 0}, {21, -3, 22, 8, 22, 0}, {21, -3, 21, 8, 22, 0}, {21, -4, 20, 8, 22, 0}, {21, -5, 20, 8, 21, 0}, + {21, -6, 19, 8, 21, 0}, {21, -7, 18, 8, 21, 0}, {22, -7, 17, 8, 21, 0}, {22, -8, 17, 8, 21, 0}, {22, -9, 16, 8, 21, 0}, + {22, -9, 15, 8, 21, 0}, {22, -10, 14, 8, 21, 0}, {22, -11, 13, 8, 21, 0}, {22, -12, 12, 8, 21, 0}, {23, -12, 11, 8, 21, 0}, + {23, -13, 11, 8, 21, 0}, {23, -14, 10, 8, 21, 0}, {23, -14, 9, 8, 21, 0}, {23, -15, 8, 8, 21, 0}, {23, -16, 7, 8, 21, 0}, + {23, -16, 6, 8, 21, 0}, {23, -17, 5, 8, 20, 0}, {24, -17, 4, 8, 20, 0}, {24, -18, 3, 8, 20, 0}, {24, -18, 2, 8, 20, 0}, + {24, -19, 1, 8, 20, 0}, {24, -20, 0, 8, 20, 0}, {24, -20, -1, 8, 20, 0}, {24, -21, -2, 8, 20, 0}, {24, -21, -3, 8, 20, 0}, + {25, -22, -4, 8, 20, 0}, {25, -22, -5, 8, 20, 0}, {25, -22, -6, 8, 20, 0}, {25, -23, -8, 8, 20, 0}, {25, -23, -9, 8, 20, 0}, + {25, -24, -10, 8, 20, 0}, {25, -24, -11, 8, 20, 0}, {26, -24, -12, 8, 19, 0}, {26, -25, -13, 8, 19, 0}, {26, -25, -14, 8, 19, 0}, + {26, -26, -15, 8, 19, 0}, {26, -26, -17, 8, 19, 0}, {26, -26, -18, 8, 19, 0}, {26, -26, -19, 8, 19, 0}, {26, -27, -20, 8, 19, 0}, + {27, -27, -21, 8, 19, 0}, {27, -27, -22, 8, 19, 0}, {27, -27, -24, 8, 19, 0}, {27, -28, -25, 8, 19, 0}, {27, -28, -26, 8, 19, 0}, + {27, -28, -27, 8, 19, 0}, {27, -28, -28, 8, 19, 0}, {28, -28, -30, 8, 19, 0}, {28, -28, -31, 8, 18, 0}, {28, -28, -32, 8, 18, 0}, + {28, -29, -33, 8, 18, 0}, {28, -29, -34, 8, 18, 0}, {28, -29, -36, 8, 18, 0}, {28, -29, -37, 8, 18, 0}, {28, -29, -38, 8, 18, 0}, + {29, -29, -39, 8, 18, 0}, {29, -29, -40, 8, 18, 0}, {29, -29, -42, 8, 18, 0}, {29, -29, -43, 8, 18, 0}, {29, -29, -44, 8, 18, 0}, + {29, -29, -45, 8, 18, 0}, {29, -28, -46, 8, 18, 0}, {29, -28, -48, 8, 18, 0}, {30, -28, -49, 8, 17, 0}, {30, -28, -50, 8, 17, 0}, + {30, -28, -51, 8, 17, 0}, {30, -28, -52, 8, 17, 0}, {30, -28, -54, 8, 17, 0}, {30, -27, -55, 8, 17, 0}, {30, -27, -56, 8, 17, 0}, + {31, -27, -57, 8, 17, 0}, {31, -27, -58, 8, 17, 0}, {31, -26, -60, 8, 17, 0}, {31, -26, -61, 8, 17, 0}, {31, -26, -62, 8, 17, 0}, + {31, -26, -63, 8, 17, 0}, {31, -25, -64, 8, 17, 0}, {31, -25, -65, 8, 17, 0}, {32, -25, -67, 8, 17, 0}, {32, -24, -68, 8, 17, 0}, + {32, -24, -69, 8, 17, 0}, {32, -24, -70, 8, 17, 0}, {32, -23, -71, 8, 17, 0}, {32, -23, -72, 8, 17, 0}, {32, -23, -73, 8, 17, 0}, + {32, -22, -75, 8, 17, 0}, {33, -22, -76, 8, 17, 0}, {33, -21, -77, 8, 8, 0}, {33, -21, -78, 8, 8, 0}, {33, -21, -79, 8, 8, 0}, + {33, -20, -80, 8, 8, 0}, {33, -20, -81, 8, 8, 0}, {33, -19, -82, 8, 8, 0}, {34, -19, -83, 8, 8, 0}, {34, -18, -84, 8, 8, 0}, + {34, -18, -85, 8, 8, 0}, {34, -18, -87, 8, 8, 0}, {34, -17, -88, 8, 8, 0}, {34, -17, -89, 8, 8, 0}, {34, -16, -90, 8, 8, 0}, + {34, -16, -91, 8, 8, 0}, {35, -15, -92, 8, 8, 0}, {35, -15, -93, 8, 8, 0}, {35, -14, -94, 8, 8, 0}, {35, -13, -95, 8, 8, 0}, + {35, -13, -96, 8, 8, 0}, {35, -12, -97, 8, 8, 0}, {35, -12, -98, 8, 8, 0}, {35, -11, -99, 8, 8, 0}, {36, -11, -100, 8, 8, 0}, + {36, -10, -101, 8, 8, 0}, {36, -10, -102, 8, 8, 0}, {36, -9, -103, 8, 8, 0}, {36, -8, -104, 8, 8, 0}, {36, -8, -105, 8, 8, 0}, + {36, -7, -106, 8, 8, 0}, {37, -6, -107, 8, 8, 0}, {37, -6, -108, 8, 8, 0}, {37, -5, -109, 8, 8, 0}, {37, -5, -110, 8, 8, 0}, + {37, -4, -110, 8, 8, 0}, {37, -3, -111, 8, 7, 0}, {37, -3, -112, 8, 7, 0}, {37, -2, -113, 8, 7, 0}, {38, -1, -114, 8, 7, 0}, + {38, -1, -115, 8, 7, 0}, {38, 0, -116, 8, 7, 0}, {38, 1, -117, 8, 7, 0}, {38, 1, -118, 8, 7, 0}, {38, 2, -119, 8, 7, 0}, + {38, 3, -119, 8, 7, 0}, {38, 3, -120, 8, 7, 0}, {39, 4, -121, 8, 7, 0}, {39, 5, -122, 8, 7, 0}, {39, 6, -123, 8, 7, 0}, + {39, 6, -124, 8, 7, 0}, {39, 7, -124, 8, 7, 0}, {39, 8, -125, 8, 7, 0}, {39, 8, -126, 8, 7, 0}, {40, 9, -127, 8, 7, 0}, + {40, 10, -128, 8, 7, 0}, {40, 11, -129, 8, 7, 0}, {40, 11, -129, 8, 7, 0}, {40, 12, -130, 8, 7, 0}, {40, 13, -131, 8, 7, 0}, + {40, 14, -132, 8, 7, 0}, {40, 14, -132, 8, 7, 0}, {41, 15, -133, 8, 7, 0}, {41, 16, -134, 8, 7, 0}, {41, 17, -135, 8, 7, 0}, + {41, 18, -135, 8, 7, 0}, {41, 18, -136, 8, 7, 0}, {41, 19, -137, 8, 7, 0}, {41, 20, -138, 8, 7, 0}, {41, 21, -138, 8, 7, 0}, + {42, 21, -139, 8, 7, 0}, {42, 22, -140, 8, 7, 0}, {42, 23, -141, 8, 7, 0}, {42, 24, -141, 8, 7, 0}, {42, 25, -142, 8, 7, 0}, + {42, 26, -143, 8, 7, 0}, {42, 26, -143, 8, 7, 0}, {43, 27, -144, 8, 7, 0}, {43, 28, -145, 8, 7, 0}, {43, 29, -145, 8, 7, 0}, + {43, 30, -146, 8, 7, 0}, {43, 31, -147, 8, 7, 0}, {43, 31, -147, 8, 7, 0}, {43, 32, -148, 8, 7, 0}, {43, 33, -149, 8, 7, 0}, + {44, 34, -149, 8, 7, 0}, {44, 35, -150, 8, 6, 0}, {44, 36, -150, 8, 6, 0}, {44, 36, -151, 8, 6, 0}, {44, 37, -152, 8, 6, 0}, + {44, 38, -152, 8, 6, 0}, {44, 39, -153, 8, 6, 0}, {44, 40, -154, 8, 6, 0}, {45, 41, -154, 8, 6, 0}, {45, 42, -155, 8, 6, 0}, + {45, 43, -155, 8, 6, 0}, {45, 43, -156, 8, 6, 0}, {45, 44, -156, 8, 6, 0}, {45, 45, -157, 8, 6, 0}, {45, 46, -158, 8, 6, 0}, + {46, 47, -158, 8, 6, 0}, {46, 48, -159, 8, 6, 0}, {46, 49, -159, 8, 6, 0}, {46, 50, -160, 8, 6, 0}, {46, 50, -160, 8, 6, 0}, + {46, 51, -161, 8, 6, 0}, {46, 52, -161, 8, 6, 0}, {46, 53, -162, 8, 6, 0}, {47, 54, -162, 8, 6, 0}, {47, 55, -163, 8, 6, 0}, + {47, 56, -163, 8, 6, 0}, {47, 57, -164, 8, 6, 0}, {47, 58, -164, 8, 6, 0}, {47, 58, -165, 8, 6, 0}, {47, 59, -165, 8, 6, 0}, + {47, 60, -166, 8, 6, 0}, {48, 61, -166, 8, 6, 0}, {48, 62, -167, 8, 6, 0}, {48, 63, -167, 8, 6, 0}, {48, 64, -168, 8, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopDown0, { - { 31, 16, 35, 16, 16, 0}, { 30, 16, 35, 16, 16, 0}, { 29, 16, 35, 16, 16, 0}, { 28, 17, 35, 16, 16, 0}, { 27, 17, 35, 16, 16, 0}, - { 26, 17, 35, 16, 16, 0}, { 25, 17, 35, 16, 16, 0}, { 24, 17, 34, 16, 23, 0}, { 23, 17, 34, 16, 23, 0}, { 22, 17, 34, 16, 23, 0}, - { 21, 17, 34, 16, 23, 0}, { 20, 18, 34, 16, 23, 0}, { 19, 18, 33, 16, 23, 0}, { 18, 18, 33, 16, 23, 0}, { 17, 18, 33, 16, 23, 0}, - { 16, 18, 32, 16, 23, 0}, { 15, 18, 32, 16, 23, 0}, { 14, 18, 32, 16, 23, 0}, { 13, 18, 31, 16, 23, 0}, { 12, 19, 31, 16, 23, 0}, - { 11, 19, 31, 16, 23, 0}, { 11, 19, 30, 16, 23, 0}, { 10, 19, 30, 16, 23, 0}, { 9, 19, 29, 16, 22, 0}, { 8, 19, 29, 16, 22, 0}, - { 7, 19, 28, 16, 22, 0}, { 6, 20, 28, 16, 22, 0}, { 5, 20, 27, 16, 22, 0}, { 4, 20, 27, 16, 22, 0}, { 3, 20, 26, 16, 22, 0}, - { 2, 20, 26, 16, 22, 0}, { 2, 20, 25, 16, 22, 0}, { 1, 20, 24, 16, 22, 0}, { 0, 20, 24, 16, 22, 0}, { -1, 21, 23, 16, 22, 0}, - { -2, 21, 22, 16, 22, 0}, { -3, 21, 22, 16, 22, 0}, { -3, 21, 21, 16, 22, 0}, { -4, 21, 20, 16, 22, 0}, { -5, 21, 20, 16, 21, 0}, - { -6, 21, 19, 16, 21, 0}, { -7, 21, 18, 16, 21, 0}, { -7, 22, 17, 16, 21, 0}, { -8, 22, 17, 16, 21, 0}, { -9, 22, 16, 16, 21, 0}, - { -9, 22, 15, 16, 21, 0}, { -10, 22, 14, 16, 21, 0}, { -11, 22, 13, 16, 21, 0}, { -12, 22, 12, 16, 21, 0}, { -12, 23, 11, 16, 21, 0}, - { -13, 23, 11, 16, 21, 0}, { -14, 23, 10, 16, 21, 0}, { -14, 23, 9, 16, 21, 0}, { -15, 23, 8, 16, 21, 0}, { -16, 23, 7, 16, 21, 0}, - { -16, 23, 6, 16, 21, 0}, { -17, 23, 5, 16, 20, 0}, { -17, 24, 4, 16, 20, 0}, { -18, 24, 3, 16, 20, 0}, { -18, 24, 2, 16, 20, 0}, - { -19, 24, 1, 16, 20, 0}, { -20, 24, 0, 16, 20, 0}, { -20, 24, -1, 16, 20, 0}, { -21, 24, -2, 16, 20, 0}, { -21, 24, -3, 16, 20, 0}, - { -22, 25, -4, 16, 20, 0}, { -22, 25, -5, 16, 20, 0}, { -22, 25, -6, 16, 20, 0}, { -23, 25, -8, 16, 20, 0}, { -23, 25, -9, 16, 20, 0}, - { -24, 25, -10, 16, 20, 0}, { -24, 25, -11, 16, 20, 0}, { -24, 26, -12, 16, 19, 0}, { -25, 26, -13, 16, 19, 0}, { -25, 26, -14, 16, 19, 0}, - { -26, 26, -15, 16, 19, 0}, { -26, 26, -17, 16, 19, 0}, { -26, 26, -18, 16, 19, 0}, { -26, 26, -19, 16, 19, 0}, { -27, 26, -20, 16, 19, 0}, - { -27, 27, -21, 16, 19, 0}, { -27, 27, -22, 16, 19, 0}, { -27, 27, -24, 16, 19, 0}, { -28, 27, -25, 16, 19, 0}, { -28, 27, -26, 16, 19, 0}, - { -28, 27, -27, 16, 19, 0}, { -28, 27, -28, 16, 19, 0}, { -28, 28, -30, 16, 19, 0}, { -28, 28, -31, 16, 18, 0}, { -28, 28, -32, 16, 18, 0}, - { -29, 28, -33, 16, 18, 0}, { -29, 28, -34, 16, 18, 0}, { -29, 28, -36, 16, 18, 0}, { -29, 28, -37, 16, 18, 0}, { -29, 28, -38, 16, 18, 0}, - { -29, 29, -39, 16, 18, 0}, { -29, 29, -40, 16, 18, 0}, { -29, 29, -42, 16, 18, 0}, { -29, 29, -43, 16, 18, 0}, { -29, 29, -44, 16, 18, 0}, - { -29, 29, -45, 16, 18, 0}, { -28, 29, -46, 16, 18, 0}, { -28, 29, -48, 16, 18, 0}, { -28, 30, -49, 16, 17, 0}, { -28, 30, -50, 16, 17, 0}, - { -28, 30, -51, 16, 17, 0}, { -28, 30, -52, 16, 17, 0}, { -28, 30, -54, 16, 17, 0}, { -27, 30, -55, 16, 17, 0}, { -27, 30, -56, 16, 17, 0}, - { -27, 31, -57, 16, 17, 0}, { -27, 31, -58, 16, 17, 0}, { -26, 31, -60, 16, 17, 0}, { -26, 31, -61, 16, 17, 0}, { -26, 31, -62, 16, 17, 0}, - { -26, 31, -63, 16, 17, 0}, { -25, 31, -64, 16, 17, 0}, { -25, 31, -65, 16, 17, 0}, { -25, 32, -67, 16, 17, 0}, { -24, 32, -68, 16, 17, 0}, - { -24, 32, -69, 16, 17, 0}, { -24, 32, -70, 16, 17, 0}, { -23, 32, -71, 16, 17, 0}, { -23, 32, -72, 16, 17, 0}, { -23, 32, -73, 16, 17, 0}, - { -22, 32, -75, 16, 17, 0}, { -22, 33, -76, 16, 17, 0}, { -21, 33, -77, 16, 8, 0}, { -21, 33, -78, 16, 8, 0}, { -21, 33, -79, 16, 8, 0}, - { -20, 33, -80, 16, 8, 0}, { -20, 33, -81, 16, 8, 0}, { -19, 33, -82, 16, 8, 0}, { -19, 34, -83, 16, 8, 0}, { -18, 34, -84, 16, 8, 0}, - { -18, 34, -85, 16, 8, 0}, { -18, 34, -87, 16, 8, 0}, { -17, 34, -88, 16, 8, 0}, { -17, 34, -89, 16, 8, 0}, { -16, 34, -90, 16, 8, 0}, - { -16, 34, -91, 16, 8, 0}, { -15, 35, -92, 16, 8, 0}, { -15, 35, -93, 16, 8, 0}, { -14, 35, -94, 16, 8, 0}, { -13, 35, -95, 16, 8, 0}, - { -13, 35, -96, 16, 8, 0}, { -12, 35, -97, 16, 8, 0}, { -12, 35, -98, 16, 8, 0}, { -11, 35, -99, 16, 8, 0}, { -11, 36, -100, 16, 8, 0}, - { -10, 36, -101, 16, 8, 0}, { -10, 36, -102, 16, 8, 0}, { -9, 36, -103, 16, 8, 0}, { -8, 36, -104, 16, 8, 0}, { -8, 36, -105, 16, 8, 0}, - { -7, 36, -106, 16, 8, 0}, { -6, 37, -107, 16, 8, 0}, { -6, 37, -108, 16, 8, 0}, { -5, 37, -109, 16, 8, 0}, { -5, 37, -110, 16, 8, 0}, - { -4, 37, -110, 16, 8, 0}, { -3, 37, -111, 16, 7, 0}, { -3, 37, -112, 16, 7, 0}, { -2, 37, -113, 16, 7, 0}, { -1, 38, -114, 16, 7, 0}, - { -1, 38, -115, 16, 7, 0}, { 0, 38, -116, 16, 7, 0}, { 1, 38, -117, 16, 7, 0}, { 1, 38, -118, 16, 7, 0}, { 2, 38, -119, 16, 7, 0}, - { 3, 38, -119, 16, 7, 0}, { 3, 38, -120, 16, 7, 0}, { 4, 39, -121, 16, 7, 0}, { 5, 39, -122, 16, 7, 0}, { 6, 39, -123, 16, 7, 0}, - { 6, 39, -124, 16, 7, 0}, { 7, 39, -124, 16, 7, 0}, { 8, 39, -125, 16, 7, 0}, { 8, 39, -126, 16, 7, 0}, { 9, 40, -127, 16, 7, 0}, - { 10, 40, -128, 16, 7, 0}, { 11, 40, -129, 16, 7, 0}, { 11, 40, -129, 16, 7, 0}, { 12, 40, -130, 16, 7, 0}, { 13, 40, -131, 16, 7, 0}, - { 14, 40, -132, 16, 7, 0}, { 14, 40, -132, 16, 7, 0}, { 15, 41, -133, 16, 7, 0}, { 16, 41, -134, 16, 7, 0}, { 17, 41, -135, 16, 7, 0}, - { 18, 41, -135, 16, 7, 0}, { 18, 41, -136, 16, 7, 0}, { 19, 41, -137, 16, 7, 0}, { 20, 41, -138, 16, 7, 0}, { 21, 41, -138, 16, 7, 0}, - { 21, 42, -139, 16, 7, 0}, { 22, 42, -140, 16, 7, 0}, { 23, 42, -141, 16, 7, 0}, { 24, 42, -141, 16, 7, 0}, { 25, 42, -142, 16, 7, 0}, - { 26, 42, -143, 16, 7, 0}, { 26, 42, -143, 16, 7, 0}, { 27, 43, -144, 16, 7, 0}, { 28, 43, -145, 16, 7, 0}, { 29, 43, -145, 16, 7, 0}, - { 30, 43, -146, 16, 7, 0}, { 31, 43, -147, 16, 7, 0}, { 31, 43, -147, 16, 7, 0}, { 32, 43, -148, 16, 7, 0}, { 33, 43, -149, 16, 7, 0}, - { 34, 44, -149, 16, 7, 0}, { 35, 44, -150, 16, 6, 0}, { 36, 44, -150, 16, 6, 0}, { 36, 44, -151, 16, 6, 0}, { 37, 44, -152, 16, 6, 0}, - { 38, 44, -152, 16, 6, 0}, { 39, 44, -153, 16, 6, 0}, { 40, 44, -154, 16, 6, 0}, { 41, 45, -154, 16, 6, 0}, { 42, 45, -155, 16, 6, 0}, - { 43, 45, -155, 16, 6, 0}, { 43, 45, -156, 16, 6, 0}, { 44, 45, -156, 16, 6, 0}, { 45, 45, -157, 16, 6, 0}, { 46, 45, -158, 16, 6, 0}, - { 47, 46, -158, 16, 6, 0}, { 48, 46, -159, 16, 6, 0}, { 49, 46, -159, 16, 6, 0}, { 50, 46, -160, 16, 6, 0}, { 50, 46, -160, 16, 6, 0}, - { 51, 46, -161, 16, 6, 0}, { 52, 46, -161, 16, 6, 0}, { 53, 46, -162, 16, 6, 0}, { 54, 47, -162, 16, 6, 0}, { 55, 47, -163, 16, 6, 0}, - { 56, 47, -163, 16, 6, 0}, { 57, 47, -164, 16, 6, 0}, { 58, 47, -164, 16, 6, 0}, { 58, 47, -165, 16, 6, 0}, { 59, 47, -165, 16, 6, 0}, - { 60, 47, -166, 16, 6, 0}, { 61, 48, -166, 16, 6, 0}, { 62, 48, -167, 16, 6, 0}, { 63, 48, -167, 16, 6, 0}, { 64, 48, -168, 16, 6, 0}, + {31, 16, 35, 16, 16, 0}, {30, 16, 35, 16, 16, 0}, {29, 16, 35, 16, 16, 0}, {28, 17, 35, 16, 16, 0}, {27, 17, 35, 16, 16, 0}, + {26, 17, 35, 16, 16, 0}, {25, 17, 35, 16, 16, 0}, {24, 17, 34, 16, 23, 0}, {23, 17, 34, 16, 23, 0}, {22, 17, 34, 16, 23, 0}, + {21, 17, 34, 16, 23, 0}, {20, 18, 34, 16, 23, 0}, {19, 18, 33, 16, 23, 0}, {18, 18, 33, 16, 23, 0}, {17, 18, 33, 16, 23, 0}, + {16, 18, 32, 16, 23, 0}, {15, 18, 32, 16, 23, 0}, {14, 18, 32, 16, 23, 0}, {13, 18, 31, 16, 23, 0}, {12, 19, 31, 16, 23, 0}, + {11, 19, 31, 16, 23, 0}, {11, 19, 30, 16, 23, 0}, {10, 19, 30, 16, 23, 0}, {9, 19, 29, 16, 22, 0}, {8, 19, 29, 16, 22, 0}, + {7, 19, 28, 16, 22, 0}, {6, 20, 28, 16, 22, 0}, {5, 20, 27, 16, 22, 0}, {4, 20, 27, 16, 22, 0}, {3, 20, 26, 16, 22, 0}, + {2, 20, 26, 16, 22, 0}, {2, 20, 25, 16, 22, 0}, {1, 20, 24, 16, 22, 0}, {0, 20, 24, 16, 22, 0}, {-1, 21, 23, 16, 22, 0}, + {-2, 21, 22, 16, 22, 0}, {-3, 21, 22, 16, 22, 0}, {-3, 21, 21, 16, 22, 0}, {-4, 21, 20, 16, 22, 0}, {-5, 21, 20, 16, 21, 0}, + {-6, 21, 19, 16, 21, 0}, {-7, 21, 18, 16, 21, 0}, {-7, 22, 17, 16, 21, 0}, {-8, 22, 17, 16, 21, 0}, {-9, 22, 16, 16, 21, 0}, + {-9, 22, 15, 16, 21, 0}, {-10, 22, 14, 16, 21, 0}, {-11, 22, 13, 16, 21, 0}, {-12, 22, 12, 16, 21, 0}, {-12, 23, 11, 16, 21, 0}, + {-13, 23, 11, 16, 21, 0}, {-14, 23, 10, 16, 21, 0}, {-14, 23, 9, 16, 21, 0}, {-15, 23, 8, 16, 21, 0}, {-16, 23, 7, 16, 21, 0}, + {-16, 23, 6, 16, 21, 0}, {-17, 23, 5, 16, 20, 0}, {-17, 24, 4, 16, 20, 0}, {-18, 24, 3, 16, 20, 0}, {-18, 24, 2, 16, 20, 0}, + {-19, 24, 1, 16, 20, 0}, {-20, 24, 0, 16, 20, 0}, {-20, 24, -1, 16, 20, 0}, {-21, 24, -2, 16, 20, 0}, {-21, 24, -3, 16, 20, 0}, + {-22, 25, -4, 16, 20, 0}, {-22, 25, -5, 16, 20, 0}, {-22, 25, -6, 16, 20, 0}, {-23, 25, -8, 16, 20, 0}, {-23, 25, -9, 16, 20, 0}, + {-24, 25, -10, 16, 20, 0}, {-24, 25, -11, 16, 20, 0}, {-24, 26, -12, 16, 19, 0}, {-25, 26, -13, 16, 19, 0}, {-25, 26, -14, 16, 19, 0}, + {-26, 26, -15, 16, 19, 0}, {-26, 26, -17, 16, 19, 0}, {-26, 26, -18, 16, 19, 0}, {-26, 26, -19, 16, 19, 0}, {-27, 26, -20, 16, 19, 0}, + {-27, 27, -21, 16, 19, 0}, {-27, 27, -22, 16, 19, 0}, {-27, 27, -24, 16, 19, 0}, {-28, 27, -25, 16, 19, 0}, {-28, 27, -26, 16, 19, 0}, + {-28, 27, -27, 16, 19, 0}, {-28, 27, -28, 16, 19, 0}, {-28, 28, -30, 16, 19, 0}, {-28, 28, -31, 16, 18, 0}, {-28, 28, -32, 16, 18, 0}, + {-29, 28, -33, 16, 18, 0}, {-29, 28, -34, 16, 18, 0}, {-29, 28, -36, 16, 18, 0}, {-29, 28, -37, 16, 18, 0}, {-29, 28, -38, 16, 18, 0}, + {-29, 29, -39, 16, 18, 0}, {-29, 29, -40, 16, 18, 0}, {-29, 29, -42, 16, 18, 0}, {-29, 29, -43, 16, 18, 0}, {-29, 29, -44, 16, 18, 0}, + {-29, 29, -45, 16, 18, 0}, {-28, 29, -46, 16, 18, 0}, {-28, 29, -48, 16, 18, 0}, {-28, 30, -49, 16, 17, 0}, {-28, 30, -50, 16, 17, 0}, + {-28, 30, -51, 16, 17, 0}, {-28, 30, -52, 16, 17, 0}, {-28, 30, -54, 16, 17, 0}, {-27, 30, -55, 16, 17, 0}, {-27, 30, -56, 16, 17, 0}, + {-27, 31, -57, 16, 17, 0}, {-27, 31, -58, 16, 17, 0}, {-26, 31, -60, 16, 17, 0}, {-26, 31, -61, 16, 17, 0}, {-26, 31, -62, 16, 17, 0}, + {-26, 31, -63, 16, 17, 0}, {-25, 31, -64, 16, 17, 0}, {-25, 31, -65, 16, 17, 0}, {-25, 32, -67, 16, 17, 0}, {-24, 32, -68, 16, 17, 0}, + {-24, 32, -69, 16, 17, 0}, {-24, 32, -70, 16, 17, 0}, {-23, 32, -71, 16, 17, 0}, {-23, 32, -72, 16, 17, 0}, {-23, 32, -73, 16, 17, 0}, + {-22, 32, -75, 16, 17, 0}, {-22, 33, -76, 16, 17, 0}, {-21, 33, -77, 16, 8, 0}, {-21, 33, -78, 16, 8, 0}, {-21, 33, -79, 16, 8, 0}, + {-20, 33, -80, 16, 8, 0}, {-20, 33, -81, 16, 8, 0}, {-19, 33, -82, 16, 8, 0}, {-19, 34, -83, 16, 8, 0}, {-18, 34, -84, 16, 8, 0}, + {-18, 34, -85, 16, 8, 0}, {-18, 34, -87, 16, 8, 0}, {-17, 34, -88, 16, 8, 0}, {-17, 34, -89, 16, 8, 0}, {-16, 34, -90, 16, 8, 0}, + {-16, 34, -91, 16, 8, 0}, {-15, 35, -92, 16, 8, 0}, {-15, 35, -93, 16, 8, 0}, {-14, 35, -94, 16, 8, 0}, {-13, 35, -95, 16, 8, 0}, + {-13, 35, -96, 16, 8, 0}, {-12, 35, -97, 16, 8, 0}, {-12, 35, -98, 16, 8, 0}, {-11, 35, -99, 16, 8, 0}, {-11, 36, -100, 16, 8, 0}, + {-10, 36, -101, 16, 8, 0}, {-10, 36, -102, 16, 8, 0}, {-9, 36, -103, 16, 8, 0}, {-8, 36, -104, 16, 8, 0}, {-8, 36, -105, 16, 8, 0}, + {-7, 36, -106, 16, 8, 0}, {-6, 37, -107, 16, 8, 0}, {-6, 37, -108, 16, 8, 0}, {-5, 37, -109, 16, 8, 0}, {-5, 37, -110, 16, 8, 0}, + {-4, 37, -110, 16, 8, 0}, {-3, 37, -111, 16, 7, 0}, {-3, 37, -112, 16, 7, 0}, {-2, 37, -113, 16, 7, 0}, {-1, 38, -114, 16, 7, 0}, + {-1, 38, -115, 16, 7, 0}, {0, 38, -116, 16, 7, 0}, {1, 38, -117, 16, 7, 0}, {1, 38, -118, 16, 7, 0}, {2, 38, -119, 16, 7, 0}, + {3, 38, -119, 16, 7, 0}, {3, 38, -120, 16, 7, 0}, {4, 39, -121, 16, 7, 0}, {5, 39, -122, 16, 7, 0}, {6, 39, -123, 16, 7, 0}, + {6, 39, -124, 16, 7, 0}, {7, 39, -124, 16, 7, 0}, {8, 39, -125, 16, 7, 0}, {8, 39, -126, 16, 7, 0}, {9, 40, -127, 16, 7, 0}, + {10, 40, -128, 16, 7, 0}, {11, 40, -129, 16, 7, 0}, {11, 40, -129, 16, 7, 0}, {12, 40, -130, 16, 7, 0}, {13, 40, -131, 16, 7, 0}, + {14, 40, -132, 16, 7, 0}, {14, 40, -132, 16, 7, 0}, {15, 41, -133, 16, 7, 0}, {16, 41, -134, 16, 7, 0}, {17, 41, -135, 16, 7, 0}, + {18, 41, -135, 16, 7, 0}, {18, 41, -136, 16, 7, 0}, {19, 41, -137, 16, 7, 0}, {20, 41, -138, 16, 7, 0}, {21, 41, -138, 16, 7, 0}, + {21, 42, -139, 16, 7, 0}, {22, 42, -140, 16, 7, 0}, {23, 42, -141, 16, 7, 0}, {24, 42, -141, 16, 7, 0}, {25, 42, -142, 16, 7, 0}, + {26, 42, -143, 16, 7, 0}, {26, 42, -143, 16, 7, 0}, {27, 43, -144, 16, 7, 0}, {28, 43, -145, 16, 7, 0}, {29, 43, -145, 16, 7, 0}, + {30, 43, -146, 16, 7, 0}, {31, 43, -147, 16, 7, 0}, {31, 43, -147, 16, 7, 0}, {32, 43, -148, 16, 7, 0}, {33, 43, -149, 16, 7, 0}, + {34, 44, -149, 16, 7, 0}, {35, 44, -150, 16, 6, 0}, {36, 44, -150, 16, 6, 0}, {36, 44, -151, 16, 6, 0}, {37, 44, -152, 16, 6, 0}, + {38, 44, -152, 16, 6, 0}, {39, 44, -153, 16, 6, 0}, {40, 44, -154, 16, 6, 0}, {41, 45, -154, 16, 6, 0}, {42, 45, -155, 16, 6, 0}, + {43, 45, -155, 16, 6, 0}, {43, 45, -156, 16, 6, 0}, {44, 45, -156, 16, 6, 0}, {45, 45, -157, 16, 6, 0}, {46, 45, -158, 16, 6, 0}, + {47, 46, -158, 16, 6, 0}, {48, 46, -159, 16, 6, 0}, {49, 46, -159, 16, 6, 0}, {50, 46, -160, 16, 6, 0}, {50, 46, -160, 16, 6, 0}, + {51, 46, -161, 16, 6, 0}, {52, 46, -161, 16, 6, 0}, {53, 46, -162, 16, 6, 0}, {54, 47, -162, 16, 6, 0}, {55, 47, -163, 16, 6, 0}, + {56, 47, -163, 16, 6, 0}, {57, 47, -164, 16, 6, 0}, {58, 47, -164, 16, 6, 0}, {58, 47, -165, 16, 6, 0}, {59, 47, -165, 16, 6, 0}, + {60, 47, -166, 16, 6, 0}, {61, 48, -166, 16, 6, 0}, {62, 48, -167, 16, 6, 0}, {63, 48, -167, 16, 6, 0}, {64, 48, -168, 16, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopDown1, { - { 16, 0, 35, 24, 16, 0}, { 16, 1, 35, 24, 16, 0}, { 16, 2, 35, 24, 16, 0}, { 16, 3, 35, 24, 16, 0}, { 17, 4, 35, 24, 16, 0}, - { 17, 5, 35, 24, 16, 0}, { 17, 6, 35, 24, 16, 0}, { 17, 7, 35, 24, 16, 0}, { 17, 8, 34, 24, 23, 0}, { 17, 9, 34, 24, 23, 0}, - { 17, 10, 34, 24, 23, 0}, { 17, 11, 34, 24, 23, 0}, { 18, 12, 34, 24, 23, 0}, { 18, 13, 33, 24, 23, 0}, { 18, 14, 33, 24, 23, 0}, - { 18, 15, 33, 24, 23, 0}, { 18, 16, 32, 24, 23, 0}, { 18, 17, 32, 24, 23, 0}, { 18, 18, 32, 24, 23, 0}, { 18, 19, 31, 24, 23, 0}, - { 19, 20, 31, 24, 23, 0}, { 19, 21, 31, 24, 23, 0}, { 19, 21, 30, 24, 23, 0}, { 19, 22, 30, 24, 23, 0}, { 19, 23, 29, 24, 22, 0}, - { 19, 24, 29, 24, 22, 0}, { 19, 25, 28, 24, 22, 0}, { 20, 26, 28, 24, 22, 0}, { 20, 27, 27, 24, 22, 0}, { 20, 28, 27, 24, 22, 0}, - { 20, 29, 26, 24, 22, 0}, { 20, 30, 26, 24, 22, 0}, { 20, 30, 25, 24, 22, 0}, { 20, 31, 24, 24, 22, 0}, { 20, 32, 24, 24, 22, 0}, - { 21, 33, 23, 24, 22, 0}, { 21, 34, 22, 24, 22, 0}, { 21, 35, 22, 24, 22, 0}, { 21, 35, 21, 24, 22, 0}, { 21, 36, 20, 24, 22, 0}, - { 21, 37, 20, 24, 21, 0}, { 21, 38, 19, 24, 21, 0}, { 21, 39, 18, 24, 21, 0}, { 22, 39, 17, 24, 21, 0}, { 22, 40, 17, 24, 21, 0}, - { 22, 41, 16, 24, 21, 0}, { 22, 41, 15, 24, 21, 0}, { 22, 42, 14, 24, 21, 0}, { 22, 43, 13, 24, 21, 0}, { 22, 44, 12, 24, 21, 0}, - { 23, 44, 11, 24, 21, 0}, { 23, 45, 11, 24, 21, 0}, { 23, 46, 10, 24, 21, 0}, { 23, 46, 9, 24, 21, 0}, { 23, 47, 8, 24, 21, 0}, - { 23, 48, 7, 24, 21, 0}, { 23, 48, 6, 24, 21, 0}, { 23, 49, 5, 24, 20, 0}, { 24, 49, 4, 24, 20, 0}, { 24, 50, 3, 24, 20, 0}, - { 24, 50, 2, 24, 20, 0}, { 24, 51, 1, 24, 20, 0}, { 24, 52, 0, 24, 20, 0}, { 24, 52, -1, 24, 20, 0}, { 24, 53, -2, 24, 20, 0}, - { 24, 53, -3, 24, 20, 0}, { 25, 54, -4, 24, 20, 0}, { 25, 54, -5, 24, 20, 0}, { 25, 54, -6, 24, 20, 0}, { 25, 55, -8, 24, 20, 0}, - { 25, 55, -9, 24, 20, 0}, { 25, 56, -10, 24, 20, 0}, { 25, 56, -11, 24, 20, 0}, { 26, 56, -12, 24, 19, 0}, { 26, 57, -13, 24, 19, 0}, - { 26, 57, -14, 24, 19, 0}, { 26, 58, -15, 24, 19, 0}, { 26, 58, -17, 24, 19, 0}, { 26, 58, -18, 24, 19, 0}, { 26, 58, -19, 24, 19, 0}, - { 26, 59, -20, 24, 19, 0}, { 27, 59, -21, 24, 19, 0}, { 27, 59, -22, 24, 19, 0}, { 27, 59, -24, 24, 19, 0}, { 27, 60, -25, 24, 19, 0}, - { 27, 60, -26, 24, 19, 0}, { 27, 60, -27, 24, 19, 0}, { 27, 60, -28, 24, 19, 0}, { 28, 60, -30, 24, 19, 0}, { 28, 60, -31, 24, 18, 0}, - { 28, 60, -32, 24, 18, 0}, { 28, 61, -33, 24, 18, 0}, { 28, 61, -34, 24, 18, 0}, { 28, 61, -36, 24, 18, 0}, { 28, 61, -37, 24, 18, 0}, - { 28, 61, -38, 24, 18, 0}, { 29, 61, -39, 24, 18, 0}, { 29, 61, -40, 24, 18, 0}, { 29, 61, -42, 24, 18, 0}, { 29, 61, -43, 24, 18, 0}, - { 29, 61, -44, 24, 18, 0}, { 29, 61, -45, 24, 18, 0}, { 29, 60, -46, 24, 18, 0}, { 29, 60, -48, 24, 18, 0}, { 30, 60, -49, 24, 17, 0}, - { 30, 60, -50, 24, 17, 0}, { 30, 60, -51, 24, 17, 0}, { 30, 60, -52, 24, 17, 0}, { 30, 60, -54, 24, 17, 0}, { 30, 59, -55, 24, 17, 0}, - { 30, 59, -56, 24, 17, 0}, { 31, 59, -57, 24, 17, 0}, { 31, 59, -58, 24, 17, 0}, { 31, 58, -60, 24, 17, 0}, { 31, 58, -61, 24, 17, 0}, - { 31, 58, -62, 24, 17, 0}, { 31, 58, -63, 24, 17, 0}, { 31, 57, -64, 24, 17, 0}, { 31, 57, -65, 24, 17, 0}, { 32, 57, -67, 24, 17, 0}, - { 32, 56, -68, 24, 17, 0}, { 32, 56, -69, 24, 17, 0}, { 32, 56, -70, 24, 17, 0}, { 32, 55, -71, 24, 17, 0}, { 32, 55, -72, 24, 17, 0}, - { 32, 55, -73, 24, 17, 0}, { 32, 54, -75, 24, 17, 0}, { 33, 54, -76, 24, 17, 0}, { 33, 53, -77, 24, 8, 0}, { 33, 53, -78, 24, 8, 0}, - { 33, 53, -79, 24, 8, 0}, { 33, 52, -80, 24, 8, 0}, { 33, 52, -81, 24, 8, 0}, { 33, 51, -82, 24, 8, 0}, { 34, 51, -83, 24, 8, 0}, - { 34, 50, -84, 24, 8, 0}, { 34, 50, -85, 24, 8, 0}, { 34, 50, -87, 24, 8, 0}, { 34, 49, -88, 24, 8, 0}, { 34, 49, -89, 24, 8, 0}, - { 34, 48, -90, 24, 8, 0}, { 34, 48, -91, 24, 8, 0}, { 35, 47, -92, 24, 8, 0}, { 35, 47, -93, 24, 8, 0}, { 35, 46, -94, 24, 8, 0}, - { 35, 45, -95, 24, 8, 0}, { 35, 45, -96, 24, 8, 0}, { 35, 44, -97, 24, 8, 0}, { 35, 44, -98, 24, 8, 0}, { 35, 43, -99, 24, 8, 0}, - { 36, 43, -100, 24, 8, 0}, { 36, 42, -101, 24, 8, 0}, { 36, 42, -102, 24, 8, 0}, { 36, 41, -103, 24, 8, 0}, { 36, 40, -104, 24, 8, 0}, - { 36, 40, -105, 24, 8, 0}, { 36, 39, -106, 24, 8, 0}, { 37, 38, -107, 24, 8, 0}, { 37, 38, -108, 24, 8, 0}, { 37, 37, -109, 24, 8, 0}, - { 37, 37, -110, 24, 8, 0}, { 37, 36, -110, 24, 8, 0}, { 37, 35, -111, 24, 7, 0}, { 37, 35, -112, 24, 7, 0}, { 37, 34, -113, 24, 7, 0}, - { 38, 33, -114, 24, 7, 0}, { 38, 33, -115, 24, 7, 0}, { 38, 32, -116, 24, 7, 0}, { 38, 31, -117, 24, 7, 0}, { 38, 31, -118, 24, 7, 0}, - { 38, 30, -119, 24, 7, 0}, { 38, 29, -119, 24, 7, 0}, { 38, 29, -120, 24, 7, 0}, { 39, 28, -121, 24, 7, 0}, { 39, 27, -122, 24, 7, 0}, - { 39, 26, -123, 24, 7, 0}, { 39, 26, -124, 24, 7, 0}, { 39, 25, -124, 24, 7, 0}, { 39, 24, -125, 24, 7, 0}, { 39, 24, -126, 24, 7, 0}, - { 40, 23, -127, 24, 7, 0}, { 40, 22, -128, 24, 7, 0}, { 40, 21, -129, 24, 7, 0}, { 40, 21, -129, 24, 7, 0}, { 40, 20, -130, 24, 7, 0}, - { 40, 19, -131, 24, 7, 0}, { 40, 18, -132, 24, 7, 0}, { 40, 18, -132, 24, 7, 0}, { 41, 17, -133, 24, 7, 0}, { 41, 16, -134, 24, 7, 0}, - { 41, 15, -135, 24, 7, 0}, { 41, 14, -135, 24, 7, 0}, { 41, 14, -136, 24, 7, 0}, { 41, 13, -137, 24, 7, 0}, { 41, 12, -138, 24, 7, 0}, - { 41, 11, -138, 24, 7, 0}, { 42, 11, -139, 24, 7, 0}, { 42, 10, -140, 24, 7, 0}, { 42, 9, -141, 24, 7, 0}, { 42, 8, -141, 24, 7, 0}, - { 42, 7, -142, 24, 7, 0}, { 42, 6, -143, 24, 7, 0}, { 42, 6, -143, 24, 7, 0}, { 43, 5, -144, 24, 7, 0}, { 43, 4, -145, 24, 7, 0}, - { 43, 3, -145, 24, 7, 0}, { 43, 2, -146, 24, 7, 0}, { 43, 1, -147, 24, 7, 0}, { 43, 1, -147, 24, 7, 0}, { 43, 0, -148, 24, 7, 0}, - { 43, -1, -149, 24, 7, 0}, { 44, -2, -149, 24, 7, 0}, { 44, -3, -150, 24, 6, 0}, { 44, -4, -150, 24, 6, 0}, { 44, -4, -151, 24, 6, 0}, - { 44, -5, -152, 24, 6, 0}, { 44, -6, -152, 24, 6, 0}, { 44, -7, -153, 24, 6, 0}, { 44, -8, -154, 24, 6, 0}, { 45, -9, -154, 24, 6, 0}, - { 45, -10, -155, 24, 6, 0}, { 45, -11, -155, 24, 6, 0}, { 45, -11, -156, 24, 6, 0}, { 45, -12, -156, 24, 6, 0}, { 45, -13, -157, 24, 6, 0}, - { 45, -14, -158, 24, 6, 0}, { 46, -15, -158, 24, 6, 0}, { 46, -16, -159, 24, 6, 0}, { 46, -17, -159, 24, 6, 0}, { 46, -18, -160, 24, 6, 0}, - { 46, -18, -160, 24, 6, 0}, { 46, -19, -161, 24, 6, 0}, { 46, -20, -161, 24, 6, 0}, { 46, -21, -162, 24, 6, 0}, { 47, -22, -162, 24, 6, 0}, - { 47, -23, -163, 24, 6, 0}, { 47, -24, -163, 24, 6, 0}, { 47, -25, -164, 24, 6, 0}, { 47, -26, -164, 24, 6, 0}, { 47, -26, -165, 24, 6, 0}, - { 47, -27, -165, 24, 6, 0}, { 47, -28, -166, 24, 6, 0}, { 48, -29, -166, 24, 6, 0}, { 48, -30, -167, 24, 6, 0}, { 48, -31, -167, 24, 6, 0}, + {16, 0, 35, 24, 16, 0}, {16, 1, 35, 24, 16, 0}, {16, 2, 35, 24, 16, 0}, {16, 3, 35, 24, 16, 0}, {17, 4, 35, 24, 16, 0}, + {17, 5, 35, 24, 16, 0}, {17, 6, 35, 24, 16, 0}, {17, 7, 35, 24, 16, 0}, {17, 8, 34, 24, 23, 0}, {17, 9, 34, 24, 23, 0}, + {17, 10, 34, 24, 23, 0}, {17, 11, 34, 24, 23, 0}, {18, 12, 34, 24, 23, 0}, {18, 13, 33, 24, 23, 0}, {18, 14, 33, 24, 23, 0}, + {18, 15, 33, 24, 23, 0}, {18, 16, 32, 24, 23, 0}, {18, 17, 32, 24, 23, 0}, {18, 18, 32, 24, 23, 0}, {18, 19, 31, 24, 23, 0}, + {19, 20, 31, 24, 23, 0}, {19, 21, 31, 24, 23, 0}, {19, 21, 30, 24, 23, 0}, {19, 22, 30, 24, 23, 0}, {19, 23, 29, 24, 22, 0}, + {19, 24, 29, 24, 22, 0}, {19, 25, 28, 24, 22, 0}, {20, 26, 28, 24, 22, 0}, {20, 27, 27, 24, 22, 0}, {20, 28, 27, 24, 22, 0}, + {20, 29, 26, 24, 22, 0}, {20, 30, 26, 24, 22, 0}, {20, 30, 25, 24, 22, 0}, {20, 31, 24, 24, 22, 0}, {20, 32, 24, 24, 22, 0}, + {21, 33, 23, 24, 22, 0}, {21, 34, 22, 24, 22, 0}, {21, 35, 22, 24, 22, 0}, {21, 35, 21, 24, 22, 0}, {21, 36, 20, 24, 22, 0}, + {21, 37, 20, 24, 21, 0}, {21, 38, 19, 24, 21, 0}, {21, 39, 18, 24, 21, 0}, {22, 39, 17, 24, 21, 0}, {22, 40, 17, 24, 21, 0}, + {22, 41, 16, 24, 21, 0}, {22, 41, 15, 24, 21, 0}, {22, 42, 14, 24, 21, 0}, {22, 43, 13, 24, 21, 0}, {22, 44, 12, 24, 21, 0}, + {23, 44, 11, 24, 21, 0}, {23, 45, 11, 24, 21, 0}, {23, 46, 10, 24, 21, 0}, {23, 46, 9, 24, 21, 0}, {23, 47, 8, 24, 21, 0}, + {23, 48, 7, 24, 21, 0}, {23, 48, 6, 24, 21, 0}, {23, 49, 5, 24, 20, 0}, {24, 49, 4, 24, 20, 0}, {24, 50, 3, 24, 20, 0}, + {24, 50, 2, 24, 20, 0}, {24, 51, 1, 24, 20, 0}, {24, 52, 0, 24, 20, 0}, {24, 52, -1, 24, 20, 0}, {24, 53, -2, 24, 20, 0}, + {24, 53, -3, 24, 20, 0}, {25, 54, -4, 24, 20, 0}, {25, 54, -5, 24, 20, 0}, {25, 54, -6, 24, 20, 0}, {25, 55, -8, 24, 20, 0}, + {25, 55, -9, 24, 20, 0}, {25, 56, -10, 24, 20, 0}, {25, 56, -11, 24, 20, 0}, {26, 56, -12, 24, 19, 0}, {26, 57, -13, 24, 19, 0}, + {26, 57, -14, 24, 19, 0}, {26, 58, -15, 24, 19, 0}, {26, 58, -17, 24, 19, 0}, {26, 58, -18, 24, 19, 0}, {26, 58, -19, 24, 19, 0}, + {26, 59, -20, 24, 19, 0}, {27, 59, -21, 24, 19, 0}, {27, 59, -22, 24, 19, 0}, {27, 59, -24, 24, 19, 0}, {27, 60, -25, 24, 19, 0}, + {27, 60, -26, 24, 19, 0}, {27, 60, -27, 24, 19, 0}, {27, 60, -28, 24, 19, 0}, {28, 60, -30, 24, 19, 0}, {28, 60, -31, 24, 18, 0}, + {28, 60, -32, 24, 18, 0}, {28, 61, -33, 24, 18, 0}, {28, 61, -34, 24, 18, 0}, {28, 61, -36, 24, 18, 0}, {28, 61, -37, 24, 18, 0}, + {28, 61, -38, 24, 18, 0}, {29, 61, -39, 24, 18, 0}, {29, 61, -40, 24, 18, 0}, {29, 61, -42, 24, 18, 0}, {29, 61, -43, 24, 18, 0}, + {29, 61, -44, 24, 18, 0}, {29, 61, -45, 24, 18, 0}, {29, 60, -46, 24, 18, 0}, {29, 60, -48, 24, 18, 0}, {30, 60, -49, 24, 17, 0}, + {30, 60, -50, 24, 17, 0}, {30, 60, -51, 24, 17, 0}, {30, 60, -52, 24, 17, 0}, {30, 60, -54, 24, 17, 0}, {30, 59, -55, 24, 17, 0}, + {30, 59, -56, 24, 17, 0}, {31, 59, -57, 24, 17, 0}, {31, 59, -58, 24, 17, 0}, {31, 58, -60, 24, 17, 0}, {31, 58, -61, 24, 17, 0}, + {31, 58, -62, 24, 17, 0}, {31, 58, -63, 24, 17, 0}, {31, 57, -64, 24, 17, 0}, {31, 57, -65, 24, 17, 0}, {32, 57, -67, 24, 17, 0}, + {32, 56, -68, 24, 17, 0}, {32, 56, -69, 24, 17, 0}, {32, 56, -70, 24, 17, 0}, {32, 55, -71, 24, 17, 0}, {32, 55, -72, 24, 17, 0}, + {32, 55, -73, 24, 17, 0}, {32, 54, -75, 24, 17, 0}, {33, 54, -76, 24, 17, 0}, {33, 53, -77, 24, 8, 0}, {33, 53, -78, 24, 8, 0}, + {33, 53, -79, 24, 8, 0}, {33, 52, -80, 24, 8, 0}, {33, 52, -81, 24, 8, 0}, {33, 51, -82, 24, 8, 0}, {34, 51, -83, 24, 8, 0}, + {34, 50, -84, 24, 8, 0}, {34, 50, -85, 24, 8, 0}, {34, 50, -87, 24, 8, 0}, {34, 49, -88, 24, 8, 0}, {34, 49, -89, 24, 8, 0}, + {34, 48, -90, 24, 8, 0}, {34, 48, -91, 24, 8, 0}, {35, 47, -92, 24, 8, 0}, {35, 47, -93, 24, 8, 0}, {35, 46, -94, 24, 8, 0}, + {35, 45, -95, 24, 8, 0}, {35, 45, -96, 24, 8, 0}, {35, 44, -97, 24, 8, 0}, {35, 44, -98, 24, 8, 0}, {35, 43, -99, 24, 8, 0}, + {36, 43, -100, 24, 8, 0}, {36, 42, -101, 24, 8, 0}, {36, 42, -102, 24, 8, 0}, {36, 41, -103, 24, 8, 0}, {36, 40, -104, 24, 8, 0}, + {36, 40, -105, 24, 8, 0}, {36, 39, -106, 24, 8, 0}, {37, 38, -107, 24, 8, 0}, {37, 38, -108, 24, 8, 0}, {37, 37, -109, 24, 8, 0}, + {37, 37, -110, 24, 8, 0}, {37, 36, -110, 24, 8, 0}, {37, 35, -111, 24, 7, 0}, {37, 35, -112, 24, 7, 0}, {37, 34, -113, 24, 7, 0}, + {38, 33, -114, 24, 7, 0}, {38, 33, -115, 24, 7, 0}, {38, 32, -116, 24, 7, 0}, {38, 31, -117, 24, 7, 0}, {38, 31, -118, 24, 7, 0}, + {38, 30, -119, 24, 7, 0}, {38, 29, -119, 24, 7, 0}, {38, 29, -120, 24, 7, 0}, {39, 28, -121, 24, 7, 0}, {39, 27, -122, 24, 7, 0}, + {39, 26, -123, 24, 7, 0}, {39, 26, -124, 24, 7, 0}, {39, 25, -124, 24, 7, 0}, {39, 24, -125, 24, 7, 0}, {39, 24, -126, 24, 7, 0}, + {40, 23, -127, 24, 7, 0}, {40, 22, -128, 24, 7, 0}, {40, 21, -129, 24, 7, 0}, {40, 21, -129, 24, 7, 0}, {40, 20, -130, 24, 7, 0}, + {40, 19, -131, 24, 7, 0}, {40, 18, -132, 24, 7, 0}, {40, 18, -132, 24, 7, 0}, {41, 17, -133, 24, 7, 0}, {41, 16, -134, 24, 7, 0}, + {41, 15, -135, 24, 7, 0}, {41, 14, -135, 24, 7, 0}, {41, 14, -136, 24, 7, 0}, {41, 13, -137, 24, 7, 0}, {41, 12, -138, 24, 7, 0}, + {41, 11, -138, 24, 7, 0}, {42, 11, -139, 24, 7, 0}, {42, 10, -140, 24, 7, 0}, {42, 9, -141, 24, 7, 0}, {42, 8, -141, 24, 7, 0}, + {42, 7, -142, 24, 7, 0}, {42, 6, -143, 24, 7, 0}, {42, 6, -143, 24, 7, 0}, {43, 5, -144, 24, 7, 0}, {43, 4, -145, 24, 7, 0}, + {43, 3, -145, 24, 7, 0}, {43, 2, -146, 24, 7, 0}, {43, 1, -147, 24, 7, 0}, {43, 1, -147, 24, 7, 0}, {43, 0, -148, 24, 7, 0}, + {43, -1, -149, 24, 7, 0}, {44, -2, -149, 24, 7, 0}, {44, -3, -150, 24, 6, 0}, {44, -4, -150, 24, 6, 0}, {44, -4, -151, 24, 6, 0}, + {44, -5, -152, 24, 6, 0}, {44, -6, -152, 24, 6, 0}, {44, -7, -153, 24, 6, 0}, {44, -8, -154, 24, 6, 0}, {45, -9, -154, 24, 6, 0}, + {45, -10, -155, 24, 6, 0}, {45, -11, -155, 24, 6, 0}, {45, -11, -156, 24, 6, 0}, {45, -12, -156, 24, 6, 0}, {45, -13, -157, 24, 6, 0}, + {45, -14, -158, 24, 6, 0}, {46, -15, -158, 24, 6, 0}, {46, -16, -159, 24, 6, 0}, {46, -17, -159, 24, 6, 0}, {46, -18, -160, 24, 6, 0}, + {46, -18, -160, 24, 6, 0}, {46, -19, -161, 24, 6, 0}, {46, -20, -161, 24, 6, 0}, {46, -21, -162, 24, 6, 0}, {47, -22, -162, 24, 6, 0}, + {47, -23, -163, 24, 6, 0}, {47, -24, -163, 24, 6, 0}, {47, -25, -164, 24, 6, 0}, {47, -26, -164, 24, 6, 0}, {47, -26, -165, 24, 6, 0}, + {47, -27, -165, 24, 6, 0}, {47, -28, -166, 24, 6, 0}, {48, -29, -166, 24, 6, 0}, {48, -30, -167, 24, 6, 0}, {48, -31, -167, 24, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopDown2, { - { 0, 16, 35, 0, 16, 0}, { 1, 16, 35, 0, 16, 0}, { 2, 16, 35, 0, 16, 0}, { 3, 16, 35, 0, 16, 0}, { 4, 15, 35, 0, 16, 0}, - { 5, 15, 35, 0, 16, 0}, { 6, 15, 35, 0, 16, 0}, { 7, 15, 35, 0, 16, 0}, { 8, 15, 34, 0, 23, 0}, { 9, 15, 34, 0, 23, 0}, - { 10, 15, 34, 0, 23, 0}, { 11, 15, 34, 0, 23, 0}, { 12, 14, 34, 0, 23, 0}, { 13, 14, 33, 0, 23, 0}, { 14, 14, 33, 0, 23, 0}, - { 15, 14, 33, 0, 23, 0}, { 16, 14, 32, 0, 23, 0}, { 17, 14, 32, 0, 23, 0}, { 18, 14, 32, 0, 23, 0}, { 19, 14, 31, 0, 23, 0}, - { 20, 13, 31, 0, 23, 0}, { 21, 13, 31, 0, 23, 0}, { 21, 13, 30, 0, 23, 0}, { 22, 13, 30, 0, 23, 0}, { 23, 13, 29, 0, 22, 0}, - { 24, 13, 29, 0, 22, 0}, { 25, 13, 28, 0, 22, 0}, { 26, 12, 28, 0, 22, 0}, { 27, 12, 27, 0, 22, 0}, { 28, 12, 27, 0, 22, 0}, - { 29, 12, 26, 0, 22, 0}, { 30, 12, 26, 0, 22, 0}, { 30, 12, 25, 0, 22, 0}, { 31, 12, 24, 0, 22, 0}, { 32, 12, 24, 0, 22, 0}, - { 33, 11, 23, 0, 22, 0}, { 34, 11, 22, 0, 22, 0}, { 35, 11, 22, 0, 22, 0}, { 35, 11, 21, 0, 22, 0}, { 36, 11, 20, 0, 22, 0}, - { 37, 11, 20, 0, 21, 0}, { 38, 11, 19, 0, 21, 0}, { 39, 11, 18, 0, 21, 0}, { 39, 10, 17, 0, 21, 0}, { 40, 10, 17, 0, 21, 0}, - { 41, 10, 16, 0, 21, 0}, { 41, 10, 15, 0, 21, 0}, { 42, 10, 14, 0, 21, 0}, { 43, 10, 13, 0, 21, 0}, { 44, 10, 12, 0, 21, 0}, - { 44, 9, 11, 0, 21, 0}, { 45, 9, 11, 0, 21, 0}, { 46, 9, 10, 0, 21, 0}, { 46, 9, 9, 0, 21, 0}, { 47, 9, 8, 0, 21, 0}, - { 48, 9, 7, 0, 21, 0}, { 48, 9, 6, 0, 21, 0}, { 49, 9, 5, 0, 20, 0}, { 49, 8, 4, 0, 20, 0}, { 50, 8, 3, 0, 20, 0}, - { 50, 8, 2, 0, 20, 0}, { 51, 8, 1, 0, 20, 0}, { 52, 8, 0, 0, 20, 0}, { 52, 8, -1, 0, 20, 0}, { 53, 8, -2, 0, 20, 0}, - { 53, 8, -3, 0, 20, 0}, { 54, 7, -4, 0, 20, 0}, { 54, 7, -5, 0, 20, 0}, { 54, 7, -6, 0, 20, 0}, { 55, 7, -8, 0, 20, 0}, - { 55, 7, -9, 0, 20, 0}, { 56, 7, -10, 0, 20, 0}, { 56, 7, -11, 0, 20, 0}, { 56, 6, -12, 0, 19, 0}, { 57, 6, -13, 0, 19, 0}, - { 57, 6, -14, 0, 19, 0}, { 58, 6, -15, 0, 19, 0}, { 58, 6, -17, 0, 19, 0}, { 58, 6, -18, 0, 19, 0}, { 58, 6, -19, 0, 19, 0}, - { 59, 6, -20, 0, 19, 0}, { 59, 5, -21, 0, 19, 0}, { 59, 5, -22, 0, 19, 0}, { 59, 5, -24, 0, 19, 0}, { 60, 5, -25, 0, 19, 0}, - { 60, 5, -26, 0, 19, 0}, { 60, 5, -27, 0, 19, 0}, { 60, 5, -28, 0, 19, 0}, { 60, 4, -30, 0, 19, 0}, { 60, 4, -31, 0, 18, 0}, - { 60, 4, -32, 0, 18, 0}, { 61, 4, -33, 0, 18, 0}, { 61, 4, -34, 0, 18, 0}, { 61, 4, -36, 0, 18, 0}, { 61, 4, -37, 0, 18, 0}, - { 61, 4, -38, 0, 18, 0}, { 61, 3, -39, 0, 18, 0}, { 61, 3, -40, 0, 18, 0}, { 61, 3, -42, 0, 18, 0}, { 61, 3, -43, 0, 18, 0}, - { 61, 3, -44, 0, 18, 0}, { 61, 3, -45, 0, 18, 0}, { 60, 3, -46, 0, 18, 0}, { 60, 3, -48, 0, 18, 0}, { 60, 2, -49, 0, 17, 0}, - { 60, 2, -50, 0, 17, 0}, { 60, 2, -51, 0, 17, 0}, { 60, 2, -52, 0, 17, 0}, { 60, 2, -54, 0, 17, 0}, { 59, 2, -55, 0, 17, 0}, - { 59, 2, -56, 0, 17, 0}, { 59, 1, -57, 0, 17, 0}, { 59, 1, -58, 0, 17, 0}, { 58, 1, -60, 0, 17, 0}, { 58, 1, -61, 0, 17, 0}, - { 58, 1, -62, 0, 17, 0}, { 58, 1, -63, 0, 17, 0}, { 57, 1, -64, 0, 17, 0}, { 57, 1, -65, 0, 17, 0}, { 57, 0, -67, 0, 17, 0}, - { 56, 0, -68, 0, 17, 0}, { 56, 0, -69, 0, 17, 0}, { 56, 0, -70, 0, 17, 0}, { 55, 0, -71, 0, 17, 0}, { 55, 0, -72, 0, 17, 0}, - { 55, 0, -73, 0, 17, 0}, { 54, 0, -75, 0, 17, 0}, { 54, -1, -76, 0, 17, 0}, { 53, -1, -77, 0, 8, 0}, { 53, -1, -78, 0, 8, 0}, - { 53, -1, -79, 0, 8, 0}, { 52, -1, -80, 0, 8, 0}, { 52, -1, -81, 0, 8, 0}, { 51, -1, -82, 0, 8, 0}, { 51, -2, -83, 0, 8, 0}, - { 50, -2, -84, 0, 8, 0}, { 50, -2, -85, 0, 8, 0}, { 50, -2, -87, 0, 8, 0}, { 49, -2, -88, 0, 8, 0}, { 49, -2, -89, 0, 8, 0}, - { 48, -2, -90, 0, 8, 0}, { 48, -2, -91, 0, 8, 0}, { 47, -3, -92, 0, 8, 0}, { 47, -3, -93, 0, 8, 0}, { 46, -3, -94, 0, 8, 0}, - { 45, -3, -95, 0, 8, 0}, { 45, -3, -96, 0, 8, 0}, { 44, -3, -97, 0, 8, 0}, { 44, -3, -98, 0, 8, 0}, { 43, -3, -99, 0, 8, 0}, - { 43, -4, -100, 0, 8, 0}, { 42, -4, -101, 0, 8, 0}, { 42, -4, -102, 0, 8, 0}, { 41, -4, -103, 0, 8, 0}, { 40, -4, -104, 0, 8, 0}, - { 40, -4, -105, 0, 8, 0}, { 39, -4, -106, 0, 8, 0}, { 38, -5, -107, 0, 8, 0}, { 38, -5, -108, 0, 8, 0}, { 37, -5, -109, 0, 8, 0}, - { 37, -5, -110, 0, 8, 0}, { 36, -5, -110, 0, 8, 0}, { 35, -5, -111, 0, 7, 0}, { 35, -5, -112, 0, 7, 0}, { 34, -5, -113, 0, 7, 0}, - { 33, -6, -114, 0, 7, 0}, { 33, -6, -115, 0, 7, 0}, { 32, -6, -116, 0, 7, 0}, { 31, -6, -117, 0, 7, 0}, { 31, -6, -118, 0, 7, 0}, - { 30, -6, -119, 0, 7, 0}, { 29, -6, -119, 0, 7, 0}, { 29, -6, -120, 0, 7, 0}, { 28, -7, -121, 0, 7, 0}, { 27, -7, -122, 0, 7, 0}, - { 26, -7, -123, 0, 7, 0}, { 26, -7, -124, 0, 7, 0}, { 25, -7, -124, 0, 7, 0}, { 24, -7, -125, 0, 7, 0}, { 24, -7, -126, 0, 7, 0}, - { 23, -8, -127, 0, 7, 0}, { 22, -8, -128, 0, 7, 0}, { 21, -8, -129, 0, 7, 0}, { 21, -8, -129, 0, 7, 0}, { 20, -8, -130, 0, 7, 0}, - { 19, -8, -131, 0, 7, 0}, { 18, -8, -132, 0, 7, 0}, { 18, -8, -132, 0, 7, 0}, { 17, -9, -133, 0, 7, 0}, { 16, -9, -134, 0, 7, 0}, - { 15, -9, -135, 0, 7, 0}, { 14, -9, -135, 0, 7, 0}, { 14, -9, -136, 0, 7, 0}, { 13, -9, -137, 0, 7, 0}, { 12, -9, -138, 0, 7, 0}, - { 11, -9, -138, 0, 7, 0}, { 11, -10, -139, 0, 7, 0}, { 10, -10, -140, 0, 7, 0}, { 9, -10, -141, 0, 7, 0}, { 8, -10, -141, 0, 7, 0}, - { 7, -10, -142, 0, 7, 0}, { 6, -10, -143, 0, 7, 0}, { 6, -10, -143, 0, 7, 0}, { 5, -11, -144, 0, 7, 0}, { 4, -11, -145, 0, 7, 0}, - { 3, -11, -145, 0, 7, 0}, { 2, -11, -146, 0, 7, 0}, { 1, -11, -147, 0, 7, 0}, { 1, -11, -147, 0, 7, 0}, { 0, -11, -148, 0, 7, 0}, - { -1, -11, -149, 0, 7, 0}, { -2, -12, -149, 0, 7, 0}, { -3, -12, -150, 0, 6, 0}, { -4, -12, -150, 0, 6, 0}, { -4, -12, -151, 0, 6, 0}, - { -5, -12, -152, 0, 6, 0}, { -6, -12, -152, 0, 6, 0}, { -7, -12, -153, 0, 6, 0}, { -8, -12, -154, 0, 6, 0}, { -9, -13, -154, 0, 6, 0}, - { -10, -13, -155, 0, 6, 0}, { -11, -13, -155, 0, 6, 0}, { -11, -13, -156, 0, 6, 0}, { -12, -13, -156, 0, 6, 0}, { -13, -13, -157, 0, 6, 0}, - { -14, -13, -158, 0, 6, 0}, { -15, -14, -158, 0, 6, 0}, { -16, -14, -159, 0, 6, 0}, { -17, -14, -159, 0, 6, 0}, { -18, -14, -160, 0, 6, 0}, - { -18, -14, -160, 0, 6, 0}, { -19, -14, -161, 0, 6, 0}, { -20, -14, -161, 0, 6, 0}, { -21, -14, -162, 0, 6, 0}, { -22, -15, -162, 0, 6, 0}, - { -23, -15, -163, 0, 6, 0}, { -24, -15, -163, 0, 6, 0}, { -25, -15, -164, 0, 6, 0}, { -26, -15, -164, 0, 6, 0}, { -26, -15, -165, 0, 6, 0}, - { -27, -15, -165, 0, 6, 0}, { -28, -15, -166, 0, 6, 0}, { -29, -16, -166, 0, 6, 0}, { -30, -16, -167, 0, 6, 0}, { -31, -16, -167, 0, 6, 0}, + {0, 16, 35, 0, 16, 0}, {1, 16, 35, 0, 16, 0}, {2, 16, 35, 0, 16, 0}, {3, 16, 35, 0, 16, 0}, {4, 15, 35, 0, 16, 0}, + {5, 15, 35, 0, 16, 0}, {6, 15, 35, 0, 16, 0}, {7, 15, 35, 0, 16, 0}, {8, 15, 34, 0, 23, 0}, {9, 15, 34, 0, 23, 0}, + {10, 15, 34, 0, 23, 0}, {11, 15, 34, 0, 23, 0}, {12, 14, 34, 0, 23, 0}, {13, 14, 33, 0, 23, 0}, {14, 14, 33, 0, 23, 0}, + {15, 14, 33, 0, 23, 0}, {16, 14, 32, 0, 23, 0}, {17, 14, 32, 0, 23, 0}, {18, 14, 32, 0, 23, 0}, {19, 14, 31, 0, 23, 0}, + {20, 13, 31, 0, 23, 0}, {21, 13, 31, 0, 23, 0}, {21, 13, 30, 0, 23, 0}, {22, 13, 30, 0, 23, 0}, {23, 13, 29, 0, 22, 0}, + {24, 13, 29, 0, 22, 0}, {25, 13, 28, 0, 22, 0}, {26, 12, 28, 0, 22, 0}, {27, 12, 27, 0, 22, 0}, {28, 12, 27, 0, 22, 0}, + {29, 12, 26, 0, 22, 0}, {30, 12, 26, 0, 22, 0}, {30, 12, 25, 0, 22, 0}, {31, 12, 24, 0, 22, 0}, {32, 12, 24, 0, 22, 0}, + {33, 11, 23, 0, 22, 0}, {34, 11, 22, 0, 22, 0}, {35, 11, 22, 0, 22, 0}, {35, 11, 21, 0, 22, 0}, {36, 11, 20, 0, 22, 0}, + {37, 11, 20, 0, 21, 0}, {38, 11, 19, 0, 21, 0}, {39, 11, 18, 0, 21, 0}, {39, 10, 17, 0, 21, 0}, {40, 10, 17, 0, 21, 0}, + {41, 10, 16, 0, 21, 0}, {41, 10, 15, 0, 21, 0}, {42, 10, 14, 0, 21, 0}, {43, 10, 13, 0, 21, 0}, {44, 10, 12, 0, 21, 0}, + {44, 9, 11, 0, 21, 0}, {45, 9, 11, 0, 21, 0}, {46, 9, 10, 0, 21, 0}, {46, 9, 9, 0, 21, 0}, {47, 9, 8, 0, 21, 0}, + {48, 9, 7, 0, 21, 0}, {48, 9, 6, 0, 21, 0}, {49, 9, 5, 0, 20, 0}, {49, 8, 4, 0, 20, 0}, {50, 8, 3, 0, 20, 0}, + {50, 8, 2, 0, 20, 0}, {51, 8, 1, 0, 20, 0}, {52, 8, 0, 0, 20, 0}, {52, 8, -1, 0, 20, 0}, {53, 8, -2, 0, 20, 0}, + {53, 8, -3, 0, 20, 0}, {54, 7, -4, 0, 20, 0}, {54, 7, -5, 0, 20, 0}, {54, 7, -6, 0, 20, 0}, {55, 7, -8, 0, 20, 0}, + {55, 7, -9, 0, 20, 0}, {56, 7, -10, 0, 20, 0}, {56, 7, -11, 0, 20, 0}, {56, 6, -12, 0, 19, 0}, {57, 6, -13, 0, 19, 0}, + {57, 6, -14, 0, 19, 0}, {58, 6, -15, 0, 19, 0}, {58, 6, -17, 0, 19, 0}, {58, 6, -18, 0, 19, 0}, {58, 6, -19, 0, 19, 0}, + {59, 6, -20, 0, 19, 0}, {59, 5, -21, 0, 19, 0}, {59, 5, -22, 0, 19, 0}, {59, 5, -24, 0, 19, 0}, {60, 5, -25, 0, 19, 0}, + {60, 5, -26, 0, 19, 0}, {60, 5, -27, 0, 19, 0}, {60, 5, -28, 0, 19, 0}, {60, 4, -30, 0, 19, 0}, {60, 4, -31, 0, 18, 0}, + {60, 4, -32, 0, 18, 0}, {61, 4, -33, 0, 18, 0}, {61, 4, -34, 0, 18, 0}, {61, 4, -36, 0, 18, 0}, {61, 4, -37, 0, 18, 0}, + {61, 4, -38, 0, 18, 0}, {61, 3, -39, 0, 18, 0}, {61, 3, -40, 0, 18, 0}, {61, 3, -42, 0, 18, 0}, {61, 3, -43, 0, 18, 0}, + {61, 3, -44, 0, 18, 0}, {61, 3, -45, 0, 18, 0}, {60, 3, -46, 0, 18, 0}, {60, 3, -48, 0, 18, 0}, {60, 2, -49, 0, 17, 0}, + {60, 2, -50, 0, 17, 0}, {60, 2, -51, 0, 17, 0}, {60, 2, -52, 0, 17, 0}, {60, 2, -54, 0, 17, 0}, {59, 2, -55, 0, 17, 0}, + {59, 2, -56, 0, 17, 0}, {59, 1, -57, 0, 17, 0}, {59, 1, -58, 0, 17, 0}, {58, 1, -60, 0, 17, 0}, {58, 1, -61, 0, 17, 0}, + {58, 1, -62, 0, 17, 0}, {58, 1, -63, 0, 17, 0}, {57, 1, -64, 0, 17, 0}, {57, 1, -65, 0, 17, 0}, {57, 0, -67, 0, 17, 0}, + {56, 0, -68, 0, 17, 0}, {56, 0, -69, 0, 17, 0}, {56, 0, -70, 0, 17, 0}, {55, 0, -71, 0, 17, 0}, {55, 0, -72, 0, 17, 0}, + {55, 0, -73, 0, 17, 0}, {54, 0, -75, 0, 17, 0}, {54, -1, -76, 0, 17, 0}, {53, -1, -77, 0, 8, 0}, {53, -1, -78, 0, 8, 0}, + {53, -1, -79, 0, 8, 0}, {52, -1, -80, 0, 8, 0}, {52, -1, -81, 0, 8, 0}, {51, -1, -82, 0, 8, 0}, {51, -2, -83, 0, 8, 0}, + {50, -2, -84, 0, 8, 0}, {50, -2, -85, 0, 8, 0}, {50, -2, -87, 0, 8, 0}, {49, -2, -88, 0, 8, 0}, {49, -2, -89, 0, 8, 0}, + {48, -2, -90, 0, 8, 0}, {48, -2, -91, 0, 8, 0}, {47, -3, -92, 0, 8, 0}, {47, -3, -93, 0, 8, 0}, {46, -3, -94, 0, 8, 0}, + {45, -3, -95, 0, 8, 0}, {45, -3, -96, 0, 8, 0}, {44, -3, -97, 0, 8, 0}, {44, -3, -98, 0, 8, 0}, {43, -3, -99, 0, 8, 0}, + {43, -4, -100, 0, 8, 0}, {42, -4, -101, 0, 8, 0}, {42, -4, -102, 0, 8, 0}, {41, -4, -103, 0, 8, 0}, {40, -4, -104, 0, 8, 0}, + {40, -4, -105, 0, 8, 0}, {39, -4, -106, 0, 8, 0}, {38, -5, -107, 0, 8, 0}, {38, -5, -108, 0, 8, 0}, {37, -5, -109, 0, 8, 0}, + {37, -5, -110, 0, 8, 0}, {36, -5, -110, 0, 8, 0}, {35, -5, -111, 0, 7, 0}, {35, -5, -112, 0, 7, 0}, {34, -5, -113, 0, 7, 0}, + {33, -6, -114, 0, 7, 0}, {33, -6, -115, 0, 7, 0}, {32, -6, -116, 0, 7, 0}, {31, -6, -117, 0, 7, 0}, {31, -6, -118, 0, 7, 0}, + {30, -6, -119, 0, 7, 0}, {29, -6, -119, 0, 7, 0}, {29, -6, -120, 0, 7, 0}, {28, -7, -121, 0, 7, 0}, {27, -7, -122, 0, 7, 0}, + {26, -7, -123, 0, 7, 0}, {26, -7, -124, 0, 7, 0}, {25, -7, -124, 0, 7, 0}, {24, -7, -125, 0, 7, 0}, {24, -7, -126, 0, 7, 0}, + {23, -8, -127, 0, 7, 0}, {22, -8, -128, 0, 7, 0}, {21, -8, -129, 0, 7, 0}, {21, -8, -129, 0, 7, 0}, {20, -8, -130, 0, 7, 0}, + {19, -8, -131, 0, 7, 0}, {18, -8, -132, 0, 7, 0}, {18, -8, -132, 0, 7, 0}, {17, -9, -133, 0, 7, 0}, {16, -9, -134, 0, 7, 0}, + {15, -9, -135, 0, 7, 0}, {14, -9, -135, 0, 7, 0}, {14, -9, -136, 0, 7, 0}, {13, -9, -137, 0, 7, 0}, {12, -9, -138, 0, 7, 0}, + {11, -9, -138, 0, 7, 0}, {11, -10, -139, 0, 7, 0}, {10, -10, -140, 0, 7, 0}, {9, -10, -141, 0, 7, 0}, {8, -10, -141, 0, 7, 0}, + {7, -10, -142, 0, 7, 0}, {6, -10, -143, 0, 7, 0}, {6, -10, -143, 0, 7, 0}, {5, -11, -144, 0, 7, 0}, {4, -11, -145, 0, 7, 0}, + {3, -11, -145, 0, 7, 0}, {2, -11, -146, 0, 7, 0}, {1, -11, -147, 0, 7, 0}, {1, -11, -147, 0, 7, 0}, {0, -11, -148, 0, 7, 0}, + {-1, -11, -149, 0, 7, 0}, {-2, -12, -149, 0, 7, 0}, {-3, -12, -150, 0, 6, 0}, {-4, -12, -150, 0, 6, 0}, {-4, -12, -151, 0, 6, 0}, + {-5, -12, -152, 0, 6, 0}, {-6, -12, -152, 0, 6, 0}, {-7, -12, -153, 0, 6, 0}, {-8, -12, -154, 0, 6, 0}, {-9, -13, -154, 0, 6, 0}, + {-10, -13, -155, 0, 6, 0}, {-11, -13, -155, 0, 6, 0}, {-11, -13, -156, 0, 6, 0}, {-12, -13, -156, 0, 6, 0}, {-13, -13, -157, 0, 6, 0}, + {-14, -13, -158, 0, 6, 0}, {-15, -14, -158, 0, 6, 0}, {-16, -14, -159, 0, 6, 0}, {-17, -14, -159, 0, 6, 0}, {-18, -14, -160, 0, 6, 0}, + {-18, -14, -160, 0, 6, 0}, {-19, -14, -161, 0, 6, 0}, {-20, -14, -161, 0, 6, 0}, {-21, -14, -162, 0, 6, 0}, {-22, -15, -162, 0, 6, 0}, + {-23, -15, -163, 0, 6, 0}, {-24, -15, -163, 0, 6, 0}, {-25, -15, -164, 0, 6, 0}, {-26, -15, -164, 0, 6, 0}, {-26, -15, -165, 0, 6, 0}, + {-27, -15, -165, 0, 6, 0}, {-28, -15, -166, 0, 6, 0}, {-29, -16, -166, 0, 6, 0}, {-30, -16, -167, 0, 6, 0}, {-31, -16, -167, 0, 6, 0}, }) CREATE_VEHICLE_INFO(TrackVehicleInfoRightMediumHalfLoopDown3, { - { 16, 31, 35, 8, 16, 0}, { 16, 30, 35, 8, 16, 0}, { 16, 29, 35, 8, 16, 0}, { 15, 28, 35, 8, 16, 0}, { 15, 27, 35, 8, 16, 0}, - { 15, 26, 35, 8, 16, 0}, { 15, 25, 35, 8, 16, 0}, { 15, 24, 34, 8, 23, 0}, { 15, 23, 34, 8, 23, 0}, { 15, 22, 34, 8, 23, 0}, - { 15, 21, 34, 8, 23, 0}, { 14, 20, 34, 8, 23, 0}, { 14, 19, 33, 8, 23, 0}, { 14, 18, 33, 8, 23, 0}, { 14, 17, 33, 8, 23, 0}, - { 14, 16, 32, 8, 23, 0}, { 14, 15, 32, 8, 23, 0}, { 14, 14, 32, 8, 23, 0}, { 14, 13, 31, 8, 23, 0}, { 13, 12, 31, 8, 23, 0}, - { 13, 11, 31, 8, 23, 0}, { 13, 11, 30, 8, 23, 0}, { 13, 10, 30, 8, 23, 0}, { 13, 9, 29, 8, 22, 0}, { 13, 8, 29, 8, 22, 0}, - { 13, 7, 28, 8, 22, 0}, { 12, 6, 28, 8, 22, 0}, { 12, 5, 27, 8, 22, 0}, { 12, 4, 27, 8, 22, 0}, { 12, 3, 26, 8, 22, 0}, - { 12, 2, 26, 8, 22, 0}, { 12, 2, 25, 8, 22, 0}, { 12, 1, 24, 8, 22, 0}, { 12, 0, 24, 8, 22, 0}, { 11, -1, 23, 8, 22, 0}, - { 11, -2, 22, 8, 22, 0}, { 11, -3, 22, 8, 22, 0}, { 11, -3, 21, 8, 22, 0}, { 11, -4, 20, 8, 22, 0}, { 11, -5, 20, 8, 21, 0}, - { 11, -6, 19, 8, 21, 0}, { 11, -7, 18, 8, 21, 0}, { 10, -7, 17, 8, 21, 0}, { 10, -8, 17, 8, 21, 0}, { 10, -9, 16, 8, 21, 0}, - { 10, -9, 15, 8, 21, 0}, { 10, -10, 14, 8, 21, 0}, { 10, -11, 13, 8, 21, 0}, { 10, -12, 12, 8, 21, 0}, { 9, -12, 11, 8, 21, 0}, - { 9, -13, 11, 8, 21, 0}, { 9, -14, 10, 8, 21, 0}, { 9, -14, 9, 8, 21, 0}, { 9, -15, 8, 8, 21, 0}, { 9, -16, 7, 8, 21, 0}, - { 9, -16, 6, 8, 21, 0}, { 9, -17, 5, 8, 20, 0}, { 8, -17, 4, 8, 20, 0}, { 8, -18, 3, 8, 20, 0}, { 8, -18, 2, 8, 20, 0}, - { 8, -19, 1, 8, 20, 0}, { 8, -20, 0, 8, 20, 0}, { 8, -20, -1, 8, 20, 0}, { 8, -21, -2, 8, 20, 0}, { 8, -21, -3, 8, 20, 0}, - { 7, -22, -4, 8, 20, 0}, { 7, -22, -5, 8, 20, 0}, { 7, -22, -6, 8, 20, 0}, { 7, -23, -8, 8, 20, 0}, { 7, -23, -9, 8, 20, 0}, - { 7, -24, -10, 8, 20, 0}, { 7, -24, -11, 8, 20, 0}, { 6, -24, -12, 8, 19, 0}, { 6, -25, -13, 8, 19, 0}, { 6, -25, -14, 8, 19, 0}, - { 6, -26, -15, 8, 19, 0}, { 6, -26, -17, 8, 19, 0}, { 6, -26, -18, 8, 19, 0}, { 6, -26, -19, 8, 19, 0}, { 6, -27, -20, 8, 19, 0}, - { 5, -27, -21, 8, 19, 0}, { 5, -27, -22, 8, 19, 0}, { 5, -27, -24, 8, 19, 0}, { 5, -28, -25, 8, 19, 0}, { 5, -28, -26, 8, 19, 0}, - { 5, -28, -27, 8, 19, 0}, { 5, -28, -28, 8, 19, 0}, { 4, -28, -30, 8, 19, 0}, { 4, -28, -31, 8, 18, 0}, { 4, -28, -32, 8, 18, 0}, - { 4, -29, -33, 8, 18, 0}, { 4, -29, -34, 8, 18, 0}, { 4, -29, -36, 8, 18, 0}, { 4, -29, -37, 8, 18, 0}, { 4, -29, -38, 8, 18, 0}, - { 3, -29, -39, 8, 18, 0}, { 3, -29, -40, 8, 18, 0}, { 3, -29, -42, 8, 18, 0}, { 3, -29, -43, 8, 18, 0}, { 3, -29, -44, 8, 18, 0}, - { 3, -29, -45, 8, 18, 0}, { 3, -28, -46, 8, 18, 0}, { 3, -28, -48, 8, 18, 0}, { 2, -28, -49, 8, 17, 0}, { 2, -28, -50, 8, 17, 0}, - { 2, -28, -51, 8, 17, 0}, { 2, -28, -52, 8, 17, 0}, { 2, -28, -54, 8, 17, 0}, { 2, -27, -55, 8, 17, 0}, { 2, -27, -56, 8, 17, 0}, - { 1, -27, -57, 8, 17, 0}, { 1, -27, -58, 8, 17, 0}, { 1, -26, -60, 8, 17, 0}, { 1, -26, -61, 8, 17, 0}, { 1, -26, -62, 8, 17, 0}, - { 1, -26, -63, 8, 17, 0}, { 1, -25, -64, 8, 17, 0}, { 1, -25, -65, 8, 17, 0}, { 0, -25, -67, 8, 17, 0}, { 0, -24, -68, 8, 17, 0}, - { 0, -24, -69, 8, 17, 0}, { 0, -24, -70, 8, 17, 0}, { 0, -23, -71, 8, 17, 0}, { 0, -23, -72, 8, 17, 0}, { 0, -23, -73, 8, 17, 0}, - { 0, -22, -75, 8, 17, 0}, { -1, -22, -76, 8, 17, 0}, { -1, -21, -77, 8, 8, 0}, { -1, -21, -78, 8, 8, 0}, { -1, -21, -79, 8, 8, 0}, - { -1, -20, -80, 8, 8, 0}, { -1, -20, -81, 8, 8, 0}, { -1, -19, -82, 8, 8, 0}, { -2, -19, -83, 8, 8, 0}, { -2, -18, -84, 8, 8, 0}, - { -2, -18, -85, 8, 8, 0}, { -2, -18, -87, 8, 8, 0}, { -2, -17, -88, 8, 8, 0}, { -2, -17, -89, 8, 8, 0}, { -2, -16, -90, 8, 8, 0}, - { -2, -16, -91, 8, 8, 0}, { -3, -15, -92, 8, 8, 0}, { -3, -15, -93, 8, 8, 0}, { -3, -14, -94, 8, 8, 0}, { -3, -13, -95, 8, 8, 0}, - { -3, -13, -96, 8, 8, 0}, { -3, -12, -97, 8, 8, 0}, { -3, -12, -98, 8, 8, 0}, { -3, -11, -99, 8, 8, 0}, { -4, -11, -100, 8, 8, 0}, - { -4, -10, -101, 8, 8, 0}, { -4, -10, -102, 8, 8, 0}, { -4, -9, -103, 8, 8, 0}, { -4, -8, -104, 8, 8, 0}, { -4, -8, -105, 8, 8, 0}, - { -4, -7, -106, 8, 8, 0}, { -5, -6, -107, 8, 8, 0}, { -5, -6, -108, 8, 8, 0}, { -5, -5, -109, 8, 8, 0}, { -5, -5, -110, 8, 8, 0}, - { -5, -4, -110, 8, 8, 0}, { -5, -3, -111, 8, 7, 0}, { -5, -3, -112, 8, 7, 0}, { -5, -2, -113, 8, 7, 0}, { -6, -1, -114, 8, 7, 0}, - { -6, -1, -115, 8, 7, 0}, { -6, 0, -116, 8, 7, 0}, { -6, 1, -117, 8, 7, 0}, { -6, 1, -118, 8, 7, 0}, { -6, 2, -119, 8, 7, 0}, - { -6, 3, -119, 8, 7, 0}, { -6, 3, -120, 8, 7, 0}, { -7, 4, -121, 8, 7, 0}, { -7, 5, -122, 8, 7, 0}, { -7, 6, -123, 8, 7, 0}, - { -7, 6, -124, 8, 7, 0}, { -7, 7, -124, 8, 7, 0}, { -7, 8, -125, 8, 7, 0}, { -7, 8, -126, 8, 7, 0}, { -8, 9, -127, 8, 7, 0}, - { -8, 10, -128, 8, 7, 0}, { -8, 11, -129, 8, 7, 0}, { -8, 11, -129, 8, 7, 0}, { -8, 12, -130, 8, 7, 0}, { -8, 13, -131, 8, 7, 0}, - { -8, 14, -132, 8, 7, 0}, { -8, 14, -132, 8, 7, 0}, { -9, 15, -133, 8, 7, 0}, { -9, 16, -134, 8, 7, 0}, { -9, 17, -135, 8, 7, 0}, - { -9, 18, -135, 8, 7, 0}, { -9, 18, -136, 8, 7, 0}, { -9, 19, -137, 8, 7, 0}, { -9, 20, -138, 8, 7, 0}, { -9, 21, -138, 8, 7, 0}, - { -10, 21, -139, 8, 7, 0}, { -10, 22, -140, 8, 7, 0}, { -10, 23, -141, 8, 7, 0}, { -10, 24, -141, 8, 7, 0}, { -10, 25, -142, 8, 7, 0}, - { -10, 26, -143, 8, 7, 0}, { -10, 26, -143, 8, 7, 0}, { -11, 27, -144, 8, 7, 0}, { -11, 28, -145, 8, 7, 0}, { -11, 29, -145, 8, 7, 0}, - { -11, 30, -146, 8, 7, 0}, { -11, 31, -147, 8, 7, 0}, { -11, 31, -147, 8, 7, 0}, { -11, 32, -148, 8, 7, 0}, { -11, 33, -149, 8, 7, 0}, - { -12, 34, -149, 8, 7, 0}, { -12, 35, -150, 8, 6, 0}, { -12, 36, -150, 8, 6, 0}, { -12, 36, -151, 8, 6, 0}, { -12, 37, -152, 8, 6, 0}, - { -12, 38, -152, 8, 6, 0}, { -12, 39, -153, 8, 6, 0}, { -12, 40, -154, 8, 6, 0}, { -13, 41, -154, 8, 6, 0}, { -13, 42, -155, 8, 6, 0}, - { -13, 43, -155, 8, 6, 0}, { -13, 43, -156, 8, 6, 0}, { -13, 44, -156, 8, 6, 0}, { -13, 45, -157, 8, 6, 0}, { -13, 46, -158, 8, 6, 0}, - { -14, 47, -158, 8, 6, 0}, { -14, 48, -159, 8, 6, 0}, { -14, 49, -159, 8, 6, 0}, { -14, 50, -160, 8, 6, 0}, { -14, 50, -160, 8, 6, 0}, - { -14, 51, -161, 8, 6, 0}, { -14, 52, -161, 8, 6, 0}, { -14, 53, -162, 8, 6, 0}, { -15, 54, -162, 8, 6, 0}, { -15, 55, -163, 8, 6, 0}, - { -15, 56, -163, 8, 6, 0}, { -15, 57, -164, 8, 6, 0}, { -15, 58, -164, 8, 6, 0}, { -15, 58, -165, 8, 6, 0}, { -15, 59, -165, 8, 6, 0}, - { -15, 60, -166, 8, 6, 0}, { -16, 61, -166, 8, 6, 0}, { -16, 62, -167, 8, 6, 0}, { -16, 63, -167, 8, 6, 0}, { -16, 64, -168, 8, 6, 0}, + {16, 31, 35, 8, 16, 0}, {16, 30, 35, 8, 16, 0}, {16, 29, 35, 8, 16, 0}, {15, 28, 35, 8, 16, 0}, {15, 27, 35, 8, 16, 0}, + {15, 26, 35, 8, 16, 0}, {15, 25, 35, 8, 16, 0}, {15, 24, 34, 8, 23, 0}, {15, 23, 34, 8, 23, 0}, {15, 22, 34, 8, 23, 0}, + {15, 21, 34, 8, 23, 0}, {14, 20, 34, 8, 23, 0}, {14, 19, 33, 8, 23, 0}, {14, 18, 33, 8, 23, 0}, {14, 17, 33, 8, 23, 0}, + {14, 16, 32, 8, 23, 0}, {14, 15, 32, 8, 23, 0}, {14, 14, 32, 8, 23, 0}, {14, 13, 31, 8, 23, 0}, {13, 12, 31, 8, 23, 0}, + {13, 11, 31, 8, 23, 0}, {13, 11, 30, 8, 23, 0}, {13, 10, 30, 8, 23, 0}, {13, 9, 29, 8, 22, 0}, {13, 8, 29, 8, 22, 0}, + {13, 7, 28, 8, 22, 0}, {12, 6, 28, 8, 22, 0}, {12, 5, 27, 8, 22, 0}, {12, 4, 27, 8, 22, 0}, {12, 3, 26, 8, 22, 0}, + {12, 2, 26, 8, 22, 0}, {12, 2, 25, 8, 22, 0}, {12, 1, 24, 8, 22, 0}, {12, 0, 24, 8, 22, 0}, {11, -1, 23, 8, 22, 0}, + {11, -2, 22, 8, 22, 0}, {11, -3, 22, 8, 22, 0}, {11, -3, 21, 8, 22, 0}, {11, -4, 20, 8, 22, 0}, {11, -5, 20, 8, 21, 0}, + {11, -6, 19, 8, 21, 0}, {11, -7, 18, 8, 21, 0}, {10, -7, 17, 8, 21, 0}, {10, -8, 17, 8, 21, 0}, {10, -9, 16, 8, 21, 0}, + {10, -9, 15, 8, 21, 0}, {10, -10, 14, 8, 21, 0}, {10, -11, 13, 8, 21, 0}, {10, -12, 12, 8, 21, 0}, {9, -12, 11, 8, 21, 0}, + {9, -13, 11, 8, 21, 0}, {9, -14, 10, 8, 21, 0}, {9, -14, 9, 8, 21, 0}, {9, -15, 8, 8, 21, 0}, {9, -16, 7, 8, 21, 0}, + {9, -16, 6, 8, 21, 0}, {9, -17, 5, 8, 20, 0}, {8, -17, 4, 8, 20, 0}, {8, -18, 3, 8, 20, 0}, {8, -18, 2, 8, 20, 0}, + {8, -19, 1, 8, 20, 0}, {8, -20, 0, 8, 20, 0}, {8, -20, -1, 8, 20, 0}, {8, -21, -2, 8, 20, 0}, {8, -21, -3, 8, 20, 0}, + {7, -22, -4, 8, 20, 0}, {7, -22, -5, 8, 20, 0}, {7, -22, -6, 8, 20, 0}, {7, -23, -8, 8, 20, 0}, {7, -23, -9, 8, 20, 0}, + {7, -24, -10, 8, 20, 0}, {7, -24, -11, 8, 20, 0}, {6, -24, -12, 8, 19, 0}, {6, -25, -13, 8, 19, 0}, {6, -25, -14, 8, 19, 0}, + {6, -26, -15, 8, 19, 0}, {6, -26, -17, 8, 19, 0}, {6, -26, -18, 8, 19, 0}, {6, -26, -19, 8, 19, 0}, {6, -27, -20, 8, 19, 0}, + {5, -27, -21, 8, 19, 0}, {5, -27, -22, 8, 19, 0}, {5, -27, -24, 8, 19, 0}, {5, -28, -25, 8, 19, 0}, {5, -28, -26, 8, 19, 0}, + {5, -28, -27, 8, 19, 0}, {5, -28, -28, 8, 19, 0}, {4, -28, -30, 8, 19, 0}, {4, -28, -31, 8, 18, 0}, {4, -28, -32, 8, 18, 0}, + {4, -29, -33, 8, 18, 0}, {4, -29, -34, 8, 18, 0}, {4, -29, -36, 8, 18, 0}, {4, -29, -37, 8, 18, 0}, {4, -29, -38, 8, 18, 0}, + {3, -29, -39, 8, 18, 0}, {3, -29, -40, 8, 18, 0}, {3, -29, -42, 8, 18, 0}, {3, -29, -43, 8, 18, 0}, {3, -29, -44, 8, 18, 0}, + {3, -29, -45, 8, 18, 0}, {3, -28, -46, 8, 18, 0}, {3, -28, -48, 8, 18, 0}, {2, -28, -49, 8, 17, 0}, {2, -28, -50, 8, 17, 0}, + {2, -28, -51, 8, 17, 0}, {2, -28, -52, 8, 17, 0}, {2, -28, -54, 8, 17, 0}, {2, -27, -55, 8, 17, 0}, {2, -27, -56, 8, 17, 0}, + {1, -27, -57, 8, 17, 0}, {1, -27, -58, 8, 17, 0}, {1, -26, -60, 8, 17, 0}, {1, -26, -61, 8, 17, 0}, {1, -26, -62, 8, 17, 0}, + {1, -26, -63, 8, 17, 0}, {1, -25, -64, 8, 17, 0}, {1, -25, -65, 8, 17, 0}, {0, -25, -67, 8, 17, 0}, {0, -24, -68, 8, 17, 0}, + {0, -24, -69, 8, 17, 0}, {0, -24, -70, 8, 17, 0}, {0, -23, -71, 8, 17, 0}, {0, -23, -72, 8, 17, 0}, {0, -23, -73, 8, 17, 0}, + {0, -22, -75, 8, 17, 0}, {-1, -22, -76, 8, 17, 0}, {-1, -21, -77, 8, 8, 0}, {-1, -21, -78, 8, 8, 0}, {-1, -21, -79, 8, 8, 0}, + {-1, -20, -80, 8, 8, 0}, {-1, -20, -81, 8, 8, 0}, {-1, -19, -82, 8, 8, 0}, {-2, -19, -83, 8, 8, 0}, {-2, -18, -84, 8, 8, 0}, + {-2, -18, -85, 8, 8, 0}, {-2, -18, -87, 8, 8, 0}, {-2, -17, -88, 8, 8, 0}, {-2, -17, -89, 8, 8, 0}, {-2, -16, -90, 8, 8, 0}, + {-2, -16, -91, 8, 8, 0}, {-3, -15, -92, 8, 8, 0}, {-3, -15, -93, 8, 8, 0}, {-3, -14, -94, 8, 8, 0}, {-3, -13, -95, 8, 8, 0}, + {-3, -13, -96, 8, 8, 0}, {-3, -12, -97, 8, 8, 0}, {-3, -12, -98, 8, 8, 0}, {-3, -11, -99, 8, 8, 0}, {-4, -11, -100, 8, 8, 0}, + {-4, -10, -101, 8, 8, 0}, {-4, -10, -102, 8, 8, 0}, {-4, -9, -103, 8, 8, 0}, {-4, -8, -104, 8, 8, 0}, {-4, -8, -105, 8, 8, 0}, + {-4, -7, -106, 8, 8, 0}, {-5, -6, -107, 8, 8, 0}, {-5, -6, -108, 8, 8, 0}, {-5, -5, -109, 8, 8, 0}, {-5, -5, -110, 8, 8, 0}, + {-5, -4, -110, 8, 8, 0}, {-5, -3, -111, 8, 7, 0}, {-5, -3, -112, 8, 7, 0}, {-5, -2, -113, 8, 7, 0}, {-6, -1, -114, 8, 7, 0}, + {-6, -1, -115, 8, 7, 0}, {-6, 0, -116, 8, 7, 0}, {-6, 1, -117, 8, 7, 0}, {-6, 1, -118, 8, 7, 0}, {-6, 2, -119, 8, 7, 0}, + {-6, 3, -119, 8, 7, 0}, {-6, 3, -120, 8, 7, 0}, {-7, 4, -121, 8, 7, 0}, {-7, 5, -122, 8, 7, 0}, {-7, 6, -123, 8, 7, 0}, + {-7, 6, -124, 8, 7, 0}, {-7, 7, -124, 8, 7, 0}, {-7, 8, -125, 8, 7, 0}, {-7, 8, -126, 8, 7, 0}, {-8, 9, -127, 8, 7, 0}, + {-8, 10, -128, 8, 7, 0}, {-8, 11, -129, 8, 7, 0}, {-8, 11, -129, 8, 7, 0}, {-8, 12, -130, 8, 7, 0}, {-8, 13, -131, 8, 7, 0}, + {-8, 14, -132, 8, 7, 0}, {-8, 14, -132, 8, 7, 0}, {-9, 15, -133, 8, 7, 0}, {-9, 16, -134, 8, 7, 0}, {-9, 17, -135, 8, 7, 0}, + {-9, 18, -135, 8, 7, 0}, {-9, 18, -136, 8, 7, 0}, {-9, 19, -137, 8, 7, 0}, {-9, 20, -138, 8, 7, 0}, {-9, 21, -138, 8, 7, 0}, + {-10, 21, -139, 8, 7, 0}, {-10, 22, -140, 8, 7, 0}, {-10, 23, -141, 8, 7, 0}, {-10, 24, -141, 8, 7, 0}, {-10, 25, -142, 8, 7, 0}, + {-10, 26, -143, 8, 7, 0}, {-10, 26, -143, 8, 7, 0}, {-11, 27, -144, 8, 7, 0}, {-11, 28, -145, 8, 7, 0}, {-11, 29, -145, 8, 7, 0}, + {-11, 30, -146, 8, 7, 0}, {-11, 31, -147, 8, 7, 0}, {-11, 31, -147, 8, 7, 0}, {-11, 32, -148, 8, 7, 0}, {-11, 33, -149, 8, 7, 0}, + {-12, 34, -149, 8, 7, 0}, {-12, 35, -150, 8, 6, 0}, {-12, 36, -150, 8, 6, 0}, {-12, 36, -151, 8, 6, 0}, {-12, 37, -152, 8, 6, 0}, + {-12, 38, -152, 8, 6, 0}, {-12, 39, -153, 8, 6, 0}, {-12, 40, -154, 8, 6, 0}, {-13, 41, -154, 8, 6, 0}, {-13, 42, -155, 8, 6, 0}, + {-13, 43, -155, 8, 6, 0}, {-13, 43, -156, 8, 6, 0}, {-13, 44, -156, 8, 6, 0}, {-13, 45, -157, 8, 6, 0}, {-13, 46, -158, 8, 6, 0}, + {-14, 47, -158, 8, 6, 0}, {-14, 48, -159, 8, 6, 0}, {-14, 49, -159, 8, 6, 0}, {-14, 50, -160, 8, 6, 0}, {-14, 50, -160, 8, 6, 0}, + {-14, 51, -161, 8, 6, 0}, {-14, 52, -161, 8, 6, 0}, {-14, 53, -162, 8, 6, 0}, {-15, 54, -162, 8, 6, 0}, {-15, 55, -163, 8, 6, 0}, + {-15, 56, -163, 8, 6, 0}, {-15, 57, -164, 8, 6, 0}, {-15, 58, -164, 8, 6, 0}, {-15, 58, -165, 8, 6, 0}, {-15, 59, -165, 8, 6, 0}, + {-15, 60, -166, 8, 6, 0}, {-16, 61, -166, 8, 6, 0}, {-16, 62, -167, 8, 6, 0}, {-16, 63, -167, 8, 6, 0}, {-16, 64, -168, 8, 6, 0}, }) + + CREATE_VEHICLE_INFO(TrackVehicleInfoLeftZeroGRollUp0, { { 31, 16, 0, 0, 2, 0}, { 30, 16, 0, 0, 2, 0}, { 29, 16, 1, 0, 2, 0}, { 28, 17, 1, 0, 2, 0}, { 27, 17, 1, 0, 2, 0}, { 26, 17, 2, 0, 2, 0}, { 25, 17, 2, 0, 2, 0}, { 24, 17, 3, 0, 2, 0}, { 24, 17, 3, 0, 2, 0}, { 23, 18, 4, 0, 2, 1}, @@ -25040,6 +25051,2223 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_FlyerHalfLoopUninvertedDown3, { }) +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagUp250, { + { 31, 16, 1, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 2, 0, 2, 0 }, { 28, 16, 3, 0, 2, 0 }, { 27, 16, 3, 0, 2, 0 }, + { 26, 16, 4, 0, 2, 0 }, { 25, 16, 4, 0, 2, 0 }, { 24, 16, 5, 0, 2, 0 }, { 23, 16, 6, 0, 2, 0 }, { 22, 15, 6, 0, 2, 0 }, + { 21, 15, 7, 31, 2, 0 }, { 20, 15, 7, 31, 2, 0 }, { 19, 15, 8, 31, 2, 0 }, { 18, 15, 8, 31, 2, 0 }, { 17, 15, 9, 31, 2, 0 }, + { 16, 15, 10, 31, 2, 0 }, { 15, 15, 10, 31, 2, 0 }, { 14, 14, 11, 31, 2, 0 }, { 13, 14, 11, 31, 2, 0 }, { 12, 14, 12, 31, 2, 0 }, + { 11, 14, 13, 31, 2, 0 }, { 10, 14, 13, 31, 2, 0 }, { 9, 13, 14, 31, 2, 0 }, { 8, 13, 14, 31, 2, 0 }, { 7, 13, 15, 31, 2, 0 }, + { 6, 13, 15, 31, 2, 0 }, { 5, 13, 16, 31, 2, 0 }, { 4, 12, 17, 31, 2, 0 }, { 3, 12, 17, 31, 2, 0 }, { 2, 12, 18, 31, 2, 0 }, + { 1, 11, 18, 31, 2, 0 }, { 0, 11, 19, 31, 2, 0 }, { -1, 11, 19, 30, 2, 0 }, { -2, 11, 20, 30, 2, 0 }, { -3, 10, 21, 30, 2, 0 }, + { -4, 10, 21, 30, 2, 0 }, { -5, 10, 22, 30, 2, 0 }, { -6, 9, 22, 30, 2, 0 }, { -7, 9, 23, 30, 2, 0 }, { -8, 8, 24, 30, 2, 0 }, + { -9, 8, 24, 30, 2, 0 }, { -10, 8, 25, 30, 2, 0 }, { -11, 7, 25, 30, 2, 0 }, { -12, 7, 26, 30, 2, 0 }, { -13, 7, 26, 30, 2, 0 }, + { -14, 6, 27, 30, 2, 0 }, { -15, 6, 28, 30, 2, 0 }, { -16, 5, 28, 30, 2, 0 }, { -17, 5, 29, 30, 2, 0 }, { -18, 4, 29, 30, 2, 0 }, + { -19, 4, 30, 30, 2, 0 }, { -20, 3, 31, 30, 2, 0 }, { -21, 3, 31, 30, 2, 0 }, { -22, 2, 32, 30, 2, 0 }, { -23, 2, 32, 30, 2, 0 }, + { -24, 1, 33, 29, 2, 0 }, { -25, 1, 34, 29, 2, 0 }, { -26, 0, 34, 29, 2, 0 }, { -27, 0, 35, 29, 2, 0 }, { -28, -1, 35, 29, 2, 0 }, + { -29, -2, 36, 29, 2, 0 }, { -30, -2, 37, 29, 2, 0 }, { -31, -3, 37, 29, 2, 0 }, { -32, -4, 38, 29, 2, 0 }, { -33, -4, 38, 29, 2, 0 }, + { -34, -5, 39, 29, 2, 0 }, { -35, -6, 40, 29, 2, 0 }, { -36, -6, 40, 29, 2, 0 }, { -37, -7, 41, 29, 2, 0 }, { -38, -8, 42, 29, 2, 0 }, + { -39, -9, 42, 29, 2, 0 }, { -40, -9, 43, 29, 2, 0 }, { -41, -10, 44, 29, 2, 0 }, { -42, -11, 44, 28, 2, 0 }, { -43, -12, 45, 28, 2, 0 }, + { -44, -13, 46, 28, 2, 0 }, { -45, -14, 46, 28, 2, 0 }, { -46, -15, 47, 28, 2, 0 }, { -47, -15, 48, 28, 2, 0 }, { -48, -16, 48, 28, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagUp251, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 1, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 2, 8, 2, 0 }, { 16, 4, 3, 8, 2, 0 }, + { 16, 5, 3, 8, 2, 0 }, { 16, 6, 4, 8, 2, 0 }, { 16, 7, 4, 8, 2, 0 }, { 16, 8, 5, 8, 2, 0 }, { 16, 9, 6, 8, 2, 0 }, + { 15, 10, 6, 8, 2, 0 }, { 15, 11, 7, 7, 2, 0 }, { 15, 12, 7, 7, 2, 0 }, { 15, 13, 8, 7, 2, 0 }, { 15, 14, 8, 7, 2, 0 }, + { 15, 15, 9, 7, 2, 0 }, { 15, 16, 10, 7, 2, 0 }, { 15, 17, 10, 7, 2, 0 }, { 14, 18, 11, 7, 2, 0 }, { 14, 19, 11, 7, 2, 0 }, + { 14, 20, 12, 7, 2, 0 }, { 14, 21, 13, 7, 2, 0 }, { 14, 22, 13, 7, 2, 0 }, { 13, 23, 14, 7, 2, 0 }, { 13, 24, 14, 7, 2, 0 }, + { 13, 25, 15, 7, 2, 0 }, { 13, 26, 15, 7, 2, 0 }, { 13, 27, 16, 7, 2, 0 }, { 12, 28, 17, 7, 2, 0 }, { 12, 29, 17, 7, 2, 0 }, + { 12, 30, 18, 7, 2, 0 }, { 11, 31, 18, 7, 2, 0 }, { 11, 32, 19, 7, 2, 0 }, { 11, 33, 19, 6, 2, 0 }, { 11, 34, 20, 6, 2, 0 }, + { 10, 35, 21, 6, 2, 0 }, { 10, 36, 21, 6, 2, 0 }, { 10, 37, 22, 6, 2, 0 }, { 9, 38, 22, 6, 2, 0 }, { 9, 39, 23, 6, 2, 0 }, + { 8, 40, 24, 6, 2, 0 }, { 8, 41, 24, 6, 2, 0 }, { 8, 42, 25, 6, 2, 0 }, { 7, 43, 25, 6, 2, 0 }, { 7, 44, 26, 6, 2, 0 }, + { 7, 45, 26, 6, 2, 0 }, { 6, 46, 27, 6, 2, 0 }, { 6, 47, 28, 6, 2, 0 }, { 5, 48, 28, 6, 2, 0 }, { 5, 49, 29, 6, 2, 0 }, + { 4, 50, 29, 6, 2, 0 }, { 4, 51, 30, 6, 2, 0 }, { 3, 52, 31, 6, 2, 0 }, { 3, 53, 31, 6, 2, 0 }, { 2, 54, 32, 6, 2, 0 }, + { 2, 55, 32, 6, 2, 0 }, { 1, 56, 33, 5, 2, 0 }, { 1, 57, 34, 5, 2, 0 }, { 0, 58, 34, 5, 2, 0 }, { 0, 59, 35, 5, 2, 0 }, + { -1, 60, 35, 5, 2, 0 }, { -2, 61, 36, 5, 2, 0 }, { -2, 62, 37, 5, 2, 0 }, { -3, 63, 37, 5, 2, 0 }, { -4, 64, 38, 5, 2, 0 }, + { -4, 65, 38, 5, 2, 0 }, { -5, 66, 39, 5, 2, 0 }, { -6, 67, 40, 5, 2, 0 }, { -6, 68, 40, 5, 2, 0 }, { -7, 69, 41, 5, 2, 0 }, + { -8, 70, 42, 5, 2, 0 }, { -9, 71, 42, 5, 2, 0 }, { -9, 72, 43, 5, 2, 0 }, { -10, 73, 44, 5, 2, 0 }, { -11, 74, 44, 4, 2, 0 }, + { -12, 75, 45, 4, 2, 0 }, { -13, 76, 46, 4, 2, 0 }, { -14, 77, 46, 4, 2, 0 }, { -15, 78, 47, 4, 2, 0 }, { -15, 79, 48, 4, 2, 0 }, + { -16, 80, 48, 4, 2, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagUp252, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 1, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 2, 16, 2, 0 }, { 4, 16, 3, 16, 2, 0 }, + { 5, 16, 3, 16, 2, 0 }, { 6, 16, 4, 16, 2, 0 }, { 7, 16, 4, 16, 2, 0 }, { 8, 16, 5, 16, 2, 0 }, { 9, 16, 6, 16, 2, 0 }, + { 10, 17, 6, 16, 2, 0 }, { 11, 17, 7, 15, 2, 0 }, { 12, 17, 7, 15, 2, 0 }, { 13, 17, 8, 15, 2, 0 }, { 14, 17, 8, 15, 2, 0 }, + { 15, 17, 9, 15, 2, 0 }, { 16, 17, 10, 15, 2, 0 }, { 17, 17, 10, 15, 2, 0 }, { 18, 18, 11, 15, 2, 0 }, { 19, 18, 11, 15, 2, 0 }, + { 20, 18, 12, 15, 2, 0 }, { 21, 18, 13, 15, 2, 0 }, { 22, 18, 13, 15, 2, 0 }, { 23, 19, 14, 15, 2, 0 }, { 24, 19, 14, 15, 2, 0 }, + { 25, 19, 15, 15, 2, 0 }, { 26, 19, 15, 15, 2, 0 }, { 27, 19, 16, 15, 2, 0 }, { 28, 20, 17, 15, 2, 0 }, { 29, 20, 17, 15, 2, 0 }, + { 30, 20, 18, 15, 2, 0 }, { 31, 21, 18, 15, 2, 0 }, { 32, 21, 19, 15, 2, 0 }, { 33, 21, 19, 14, 2, 0 }, { 34, 21, 20, 14, 2, 0 }, + { 35, 22, 21, 14, 2, 0 }, { 36, 22, 21, 14, 2, 0 }, { 37, 22, 22, 14, 2, 0 }, { 38, 23, 22, 14, 2, 0 }, { 39, 23, 23, 14, 2, 0 }, + { 40, 24, 24, 14, 2, 0 }, { 41, 24, 24, 14, 2, 0 }, { 42, 24, 25, 14, 2, 0 }, { 43, 25, 25, 14, 2, 0 }, { 44, 25, 26, 14, 2, 0 }, + { 45, 25, 26, 14, 2, 0 }, { 46, 26, 27, 14, 2, 0 }, { 47, 26, 28, 14, 2, 0 }, { 48, 27, 28, 14, 2, 0 }, { 49, 27, 29, 14, 2, 0 }, + { 50, 28, 29, 14, 2, 0 }, { 51, 28, 30, 14, 2, 0 }, { 52, 29, 31, 14, 2, 0 }, { 53, 29, 31, 14, 2, 0 }, { 54, 30, 32, 14, 2, 0 }, + { 55, 30, 32, 14, 2, 0 }, { 56, 31, 33, 13, 2, 0 }, { 57, 31, 34, 13, 2, 0 }, { 58, 32, 34, 13, 2, 0 }, { 59, 32, 35, 13, 2, 0 }, + { 60, 33, 35, 13, 2, 0 }, { 61, 34, 36, 13, 2, 0 }, { 62, 34, 37, 13, 2, 0 }, { 63, 35, 37, 13, 2, 0 }, { 64, 36, 38, 13, 2, 0 }, + { 65, 36, 38, 13, 2, 0 }, { 66, 37, 39, 13, 2, 0 }, { 67, 38, 40, 13, 2, 0 }, { 68, 38, 40, 13, 2, 0 }, { 69, 39, 41, 13, 2, 0 }, + { 70, 40, 42, 13, 2, 0 }, { 71, 41, 42, 13, 2, 0 }, { 72, 41, 43, 13, 2, 0 }, { 73, 42, 44, 13, 2, 0 }, { 74, 43, 44, 12, 2, 0 }, + { 75, 44, 45, 12, 2, 0 }, { 76, 45, 46, 12, 2, 0 }, { 77, 46, 46, 12, 2, 0 }, { 78, 47, 47, 12, 2, 0 }, { 79, 47, 48, 12, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagUp253, { + { 16, 31, 1, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 2, 24, 2, 0 }, { 16, 28, 3, 24, 2, 0 }, { 16, 27, 3, 24, 2, 0 }, + { 16, 26, 4, 24, 2, 0 }, { 16, 25, 4, 24, 2, 0 }, { 16, 24, 5, 24, 2, 0 }, { 16, 23, 6, 24, 2, 0 }, { 17, 22, 6, 24, 2, 0 }, + { 17, 21, 7, 23, 2, 0 }, { 17, 20, 7, 23, 2, 0 }, { 17, 19, 8, 23, 2, 0 }, { 17, 18, 8, 23, 2, 0 }, { 17, 17, 9, 23, 2, 0 }, + { 17, 16, 10, 23, 2, 0 }, { 17, 15, 10, 23, 2, 0 }, { 18, 14, 11, 23, 2, 0 }, { 18, 13, 11, 23, 2, 0 }, { 18, 12, 12, 23, 2, 0 }, + { 18, 11, 13, 23, 2, 0 }, { 18, 10, 13, 23, 2, 0 }, { 19, 9, 14, 23, 2, 0 }, { 19, 8, 14, 23, 2, 0 }, { 19, 7, 15, 23, 2, 0 }, + { 19, 6, 15, 23, 2, 0 }, { 19, 5, 16, 23, 2, 0 }, { 20, 4, 17, 23, 2, 0 }, { 20, 3, 17, 23, 2, 0 }, { 20, 2, 18, 23, 2, 0 }, + { 21, 1, 18, 23, 2, 0 }, { 21, 0, 19, 23, 2, 0 }, { 21, -1, 19, 22, 2, 0 }, { 21, -2, 20, 22, 2, 0 }, { 22, -3, 21, 22, 2, 0 }, + { 22, -4, 21, 22, 2, 0 }, { 22, -5, 22, 22, 2, 0 }, { 23, -6, 22, 22, 2, 0 }, { 23, -7, 23, 22, 2, 0 }, { 24, -8, 24, 22, 2, 0 }, + { 24, -9, 24, 22, 2, 0 }, { 24, -10, 25, 22, 2, 0 }, { 25, -11, 25, 22, 2, 0 }, { 25, -12, 26, 22, 2, 0 }, { 25, -13, 26, 22, 2, 0 }, + { 26, -14, 27, 22, 2, 0 }, { 26, -15, 28, 22, 2, 0 }, { 27, -16, 28, 22, 2, 0 }, { 27, -17, 29, 22, 2, 0 }, { 28, -18, 29, 22, 2, 0 }, + { 28, -19, 30, 22, 2, 0 }, { 29, -20, 31, 22, 2, 0 }, { 29, -21, 31, 22, 2, 0 }, { 30, -22, 32, 22, 2, 0 }, { 30, -23, 32, 22, 2, 0 }, + { 31, -24, 33, 21, 2, 0 }, { 31, -25, 34, 21, 2, 0 }, { 32, -26, 34, 21, 2, 0 }, { 32, -27, 35, 21, 2, 0 }, { 33, -28, 35, 21, 2, 0 }, + { 34, -29, 36, 21, 2, 0 }, { 34, -30, 37, 21, 2, 0 }, { 35, -31, 37, 21, 2, 0 }, { 36, -32, 38, 21, 2, 0 }, { 36, -33, 38, 21, 2, 0 }, + { 37, -34, 39, 21, 2, 0 }, { 38, -35, 40, 21, 2, 0 }, { 38, -36, 40, 21, 2, 0 }, { 39, -37, 41, 21, 2, 0 }, { 40, -38, 42, 21, 2, 0 }, + { 41, -39, 42, 21, 2, 0 }, { 41, -40, 43, 21, 2, 0 }, { 42, -41, 44, 21, 2, 0 }, { 43, -42, 44, 20, 2, 0 }, { 44, -43, 45, 20, 2, 0 }, + { 45, -44, 46, 20, 2, 0 }, { 46, -45, 46, 20, 2, 0 }, { 47, -46, 47, 20, 2, 0 }, { 47, -47, 48, 20, 2, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagUp250, { + { 31, 16, 1, 0, 2, 0 }, { 30, 16, 1, 0, 2, 0 }, { 29, 16, 2, 0, 2, 0 }, { 28, 16, 3, 0, 2, 0 }, { 27, 16, 3, 0, 2, 0 }, + { 26, 16, 4, 0, 2, 0 }, { 25, 16, 4, 0, 2, 0 }, { 24, 16, 5, 0, 2, 0 }, { 23, 16, 6, 0, 2, 0 }, { 22, 17, 6, 0, 2, 0 }, + { 21, 17, 7, 1, 2, 0 }, { 20, 17, 7, 1, 2, 0 }, { 19, 17, 8, 1, 2, 0 }, { 18, 17, 8, 1, 2, 0 }, { 17, 17, 9, 1, 2, 0 }, + { 16, 17, 10, 1, 2, 0 }, { 15, 17, 10, 1, 2, 0 }, { 14, 18, 11, 1, 2, 0 }, { 13, 18, 11, 1, 2, 0 }, { 12, 18, 12, 1, 2, 0 }, + { 11, 18, 13, 1, 2, 0 }, { 10, 18, 13, 1, 2, 0 }, { 9, 19, 14, 1, 2, 0 }, { 8, 19, 14, 1, 2, 0 }, { 7, 19, 15, 1, 2, 0 }, + { 6, 19, 15, 1, 2, 0 }, { 5, 19, 16, 1, 2, 0 }, { 4, 20, 17, 1, 2, 0 }, { 3, 20, 17, 1, 2, 0 }, { 2, 20, 18, 1, 2, 0 }, + { 1, 21, 18, 1, 2, 0 }, { 0, 21, 19, 1, 2, 0 }, { -1, 21, 19, 2, 2, 0 }, { -2, 21, 20, 2, 2, 0 }, { -3, 22, 21, 2, 2, 0 }, + { -4, 22, 21, 2, 2, 0 }, { -5, 22, 22, 2, 2, 0 }, { -6, 23, 22, 2, 2, 0 }, { -7, 23, 23, 2, 2, 0 }, { -8, 24, 24, 2, 2, 0 }, + { -9, 24, 24, 2, 2, 0 }, { -10, 24, 25, 2, 2, 0 }, { -11, 25, 25, 2, 2, 0 }, { -12, 25, 26, 2, 2, 0 }, { -13, 25, 26, 2, 2, 0 }, + { -14, 26, 27, 2, 2, 0 }, { -15, 26, 28, 2, 2, 0 }, { -16, 27, 28, 2, 2, 0 }, { -17, 27, 29, 2, 2, 0 }, { -18, 28, 29, 2, 2, 0 }, + { -19, 28, 30, 2, 2, 0 }, { -20, 29, 31, 2, 2, 0 }, { -21, 29, 31, 2, 2, 0 }, { -22, 30, 32, 2, 2, 0 }, { -23, 30, 32, 2, 2, 0 }, + { -24, 31, 33, 3, 2, 0 }, { -25, 31, 34, 3, 2, 0 }, { -26, 32, 34, 3, 2, 0 }, { -27, 32, 35, 3, 2, 0 }, { -28, 33, 35, 3, 2, 0 }, + { -29, 34, 36, 3, 2, 0 }, { -30, 34, 37, 3, 2, 0 }, { -31, 35, 37, 3, 2, 0 }, { -32, 36, 38, 3, 2, 0 }, { -33, 36, 38, 3, 2, 0 }, + { -34, 37, 39, 3, 2, 0 }, { -35, 38, 40, 3, 2, 0 }, { -36, 38, 40, 3, 2, 0 }, { -37, 39, 41, 3, 2, 0 }, { -38, 40, 42, 3, 2, 0 }, + { -39, 41, 42, 3, 2, 0 }, { -40, 41, 43, 3, 2, 0 }, { -41, 42, 44, 3, 2, 0 }, { -42, 43, 44, 4, 2, 0 }, { -43, 44, 45, 4, 2, 0 }, + { -44, 45, 46, 4, 2, 0 }, { -45, 46, 46, 4, 2, 0 }, { -46, 47, 47, 4, 2, 0 }, { -47, 47, 48, 4, 2, 0 }, { -48, 48, 48, 4, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagUp251, { + { 16, 0, 0, 8, 2, 0 }, { 16, 1, 1, 8, 2, 0 }, { 16, 2, 1, 8, 2, 0 }, { 16, 3, 2, 8, 2, 0 }, { 16, 4, 3, 8, 2, 0 }, + { 16, 5, 3, 8, 2, 0 }, { 16, 6, 4, 8, 2, 0 }, { 16, 7, 4, 8, 2, 0 }, { 16, 8, 5, 8, 2, 0 }, { 16, 9, 6, 8, 2, 0 }, + { 17, 10, 6, 8, 2, 0 }, { 17, 11, 7, 9, 2, 0 }, { 17, 12, 7, 9, 2, 0 }, { 17, 13, 8, 9, 2, 0 }, { 17, 14, 8, 9, 2, 0 }, + { 17, 15, 9, 9, 2, 0 }, { 17, 16, 10, 9, 2, 0 }, { 17, 17, 10, 9, 2, 0 }, { 18, 18, 11, 9, 2, 0 }, { 18, 19, 11, 9, 2, 0 }, + { 18, 20, 12, 9, 2, 0 }, { 18, 21, 13, 9, 2, 0 }, { 18, 22, 13, 9, 2, 0 }, { 19, 23, 14, 9, 2, 0 }, { 19, 24, 14, 9, 2, 0 }, + { 19, 25, 15, 9, 2, 0 }, { 19, 26, 15, 9, 2, 0 }, { 19, 27, 16, 9, 2, 0 }, { 20, 28, 17, 9, 2, 0 }, { 20, 29, 17, 9, 2, 0 }, + { 20, 30, 18, 9, 2, 0 }, { 21, 31, 18, 9, 2, 0 }, { 21, 32, 19, 9, 2, 0 }, { 21, 33, 19, 10, 2, 0 }, { 21, 34, 20, 10, 2, 0 }, + { 22, 35, 21, 10, 2, 0 }, { 22, 36, 21, 10, 2, 0 }, { 22, 37, 22, 10, 2, 0 }, { 23, 38, 22, 10, 2, 0 }, { 23, 39, 23, 10, 2, 0 }, + { 24, 40, 24, 10, 2, 0 }, { 24, 41, 24, 10, 2, 0 }, { 24, 42, 25, 10, 2, 0 }, { 25, 43, 25, 10, 2, 0 }, { 25, 44, 26, 10, 2, 0 }, + { 25, 45, 26, 10, 2, 0 }, { 26, 46, 27, 10, 2, 0 }, { 26, 47, 28, 10, 2, 0 }, { 27, 48, 28, 10, 2, 0 }, { 27, 49, 29, 10, 2, 0 }, + { 28, 50, 29, 10, 2, 0 }, { 28, 51, 30, 10, 2, 0 }, { 29, 52, 31, 10, 2, 0 }, { 29, 53, 31, 10, 2, 0 }, { 30, 54, 32, 10, 2, 0 }, + { 30, 55, 32, 10, 2, 0 }, { 31, 56, 33, 11, 2, 0 }, { 31, 57, 34, 11, 2, 0 }, { 32, 58, 34, 11, 2, 0 }, { 32, 59, 35, 11, 2, 0 }, + { 33, 60, 35, 11, 2, 0 }, { 34, 61, 36, 11, 2, 0 }, { 34, 62, 37, 11, 2, 0 }, { 35, 63, 37, 11, 2, 0 }, { 36, 64, 38, 11, 2, 0 }, + { 36, 65, 38, 11, 2, 0 }, { 37, 66, 39, 11, 2, 0 }, { 38, 67, 40, 11, 2, 0 }, { 38, 68, 40, 11, 2, 0 }, { 39, 69, 41, 11, 2, 0 }, + { 40, 70, 42, 11, 2, 0 }, { 41, 71, 42, 11, 2, 0 }, { 41, 72, 43, 11, 2, 0 }, { 42, 73, 44, 11, 2, 0 }, { 43, 74, 44, 12, 2, 0 }, + { 44, 75, 45, 12, 2, 0 }, { 45, 76, 46, 12, 2, 0 }, { 46, 77, 46, 12, 2, 0 }, { 47, 78, 47, 12, 2, 0 }, { 47, 79, 48, 12, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagUp252, { + { 0, 16, 0, 16, 2, 0 }, { 1, 16, 1, 16, 2, 0 }, { 2, 16, 1, 16, 2, 0 }, { 3, 16, 2, 16, 2, 0 }, { 4, 16, 3, 16, 2, 0 }, + { 5, 16, 3, 16, 2, 0 }, { 6, 16, 4, 16, 2, 0 }, { 7, 16, 4, 16, 2, 0 }, { 8, 16, 5, 16, 2, 0 }, { 9, 16, 6, 16, 2, 0 }, + { 10, 15, 6, 16, 2, 0 }, { 11, 15, 7, 17, 2, 0 }, { 12, 15, 7, 17, 2, 0 }, { 13, 15, 8, 17, 2, 0 }, { 14, 15, 8, 17, 2, 0 }, + { 15, 15, 9, 17, 2, 0 }, { 16, 15, 10, 17, 2, 0 }, { 17, 15, 10, 17, 2, 0 }, { 18, 14, 11, 17, 2, 0 }, { 19, 14, 11, 17, 2, 0 }, + { 20, 14, 12, 17, 2, 0 }, { 21, 14, 13, 17, 2, 0 }, { 22, 14, 13, 17, 2, 0 }, { 23, 13, 14, 17, 2, 0 }, { 24, 13, 14, 17, 2, 0 }, + { 25, 13, 15, 17, 2, 0 }, { 26, 13, 15, 17, 2, 0 }, { 27, 13, 16, 17, 2, 0 }, { 28, 12, 17, 17, 2, 0 }, { 29, 12, 17, 17, 2, 0 }, + { 30, 12, 18, 17, 2, 0 }, { 31, 11, 18, 17, 2, 0 }, { 32, 11, 19, 17, 2, 0 }, { 33, 11, 19, 18, 2, 0 }, { 34, 11, 20, 18, 2, 0 }, + { 35, 10, 21, 18, 2, 0 }, { 36, 10, 21, 18, 2, 0 }, { 37, 10, 22, 18, 2, 0 }, { 38, 9, 22, 18, 2, 0 }, { 39, 9, 23, 18, 2, 0 }, + { 40, 8, 24, 18, 2, 0 }, { 41, 8, 24, 18, 2, 0 }, { 42, 8, 25, 18, 2, 0 }, { 43, 7, 25, 18, 2, 0 }, { 44, 7, 26, 18, 2, 0 }, + { 45, 7, 26, 18, 2, 0 }, { 46, 6, 27, 18, 2, 0 }, { 47, 6, 28, 18, 2, 0 }, { 48, 5, 28, 18, 2, 0 }, { 49, 5, 29, 18, 2, 0 }, + { 50, 4, 29, 18, 2, 0 }, { 51, 4, 30, 18, 2, 0 }, { 52, 3, 31, 18, 2, 0 }, { 53, 3, 31, 18, 2, 0 }, { 54, 2, 32, 18, 2, 0 }, + { 55, 2, 32, 18, 2, 0 }, { 56, 1, 33, 19, 2, 0 }, { 57, 1, 34, 19, 2, 0 }, { 58, 0, 34, 19, 2, 0 }, { 59, 0, 35, 19, 2, 0 }, + { 60, -1, 35, 19, 2, 0 }, { 61, -2, 36, 19, 2, 0 }, { 62, -2, 37, 19, 2, 0 }, { 63, -3, 37, 19, 2, 0 }, { 64, -4, 38, 19, 2, 0 }, + { 65, -4, 38, 19, 2, 0 }, { 66, -5, 39, 19, 2, 0 }, { 67, -6, 40, 19, 2, 0 }, { 68, -6, 40, 19, 2, 0 }, { 69, -7, 41, 19, 2, 0 }, + { 70, -8, 42, 19, 2, 0 }, { 71, -9, 42, 19, 2, 0 }, { 72, -9, 43, 19, 2, 0 }, { 73, -10, 44, 19, 2, 0 }, { 74, -11, 44, 20, 2, 0 }, + { 75, -12, 45, 20, 2, 0 }, { 76, -13, 46, 20, 2, 0 }, { 77, -14, 46, 20, 2, 0 }, { 78, -15, 47, 20, 2, 0 }, { 79, -15, 48, 20, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagUp253, { + { 16, 31, 1, 24, 2, 0 }, { 16, 30, 1, 24, 2, 0 }, { 16, 29, 2, 24, 2, 0 }, { 16, 28, 3, 24, 2, 0 }, { 16, 27, 3, 24, 2, 0 }, + { 16, 26, 4, 24, 2, 0 }, { 16, 25, 4, 24, 2, 0 }, { 16, 24, 5, 24, 2, 0 }, { 16, 23, 6, 24, 2, 0 }, { 15, 22, 6, 24, 2, 0 }, + { 15, 21, 7, 25, 2, 0 }, { 15, 20, 7, 25, 2, 0 }, { 15, 19, 8, 25, 2, 0 }, { 15, 18, 8, 25, 2, 0 }, { 15, 17, 9, 25, 2, 0 }, + { 15, 16, 10, 25, 2, 0 }, { 15, 15, 10, 25, 2, 0 }, { 14, 14, 11, 25, 2, 0 }, { 14, 13, 11, 25, 2, 0 }, { 14, 12, 12, 25, 2, 0 }, + { 14, 11, 13, 25, 2, 0 }, { 14, 10, 13, 25, 2, 0 }, { 13, 9, 14, 25, 2, 0 }, { 13, 8, 14, 25, 2, 0 }, { 13, 7, 15, 25, 2, 0 }, + { 13, 6, 15, 25, 2, 0 }, { 13, 5, 16, 25, 2, 0 }, { 12, 4, 17, 25, 2, 0 }, { 12, 3, 17, 25, 2, 0 }, { 12, 2, 18, 25, 2, 0 }, + { 11, 1, 18, 25, 2, 0 }, { 11, 0, 19, 25, 2, 0 }, { 11, -1, 19, 26, 2, 0 }, { 11, -2, 20, 26, 2, 0 }, { 10, -3, 21, 26, 2, 0 }, + { 10, -4, 21, 26, 2, 0 }, { 10, -5, 22, 26, 2, 0 }, { 9, -6, 22, 26, 2, 0 }, { 9, -7, 23, 26, 2, 0 }, { 8, -8, 24, 26, 2, 0 }, + { 8, -9, 24, 26, 2, 0 }, { 8, -10, 25, 26, 2, 0 }, { 7, -11, 25, 26, 2, 0 }, { 7, -12, 26, 26, 2, 0 }, { 7, -13, 26, 26, 2, 0 }, + { 6, -14, 27, 26, 2, 0 }, { 6, -15, 28, 26, 2, 0 }, { 5, -16, 28, 26, 2, 0 }, { 5, -17, 29, 26, 2, 0 }, { 4, -18, 29, 26, 2, 0 }, + { 4, -19, 30, 26, 2, 0 }, { 3, -20, 31, 26, 2, 0 }, { 3, -21, 31, 26, 2, 0 }, { 2, -22, 32, 26, 2, 0 }, { 2, -23, 32, 26, 2, 0 }, + { 1, -24, 33, 27, 2, 0 }, { 1, -25, 34, 27, 2, 0 }, { 0, -26, 34, 27, 2, 0 }, { 0, -27, 35, 27, 2, 0 }, { -1, -28, 35, 27, 2, 0 }, + { -2, -29, 36, 27, 2, 0 }, { -2, -30, 37, 27, 2, 0 }, { -3, -31, 37, 27, 2, 0 }, { -4, -32, 38, 27, 2, 0 }, { -4, -33, 38, 27, 2, 0 }, + { -5, -34, 39, 27, 2, 0 }, { -6, -35, 40, 27, 2, 0 }, { -6, -36, 40, 27, 2, 0 }, { -7, -37, 41, 27, 2, 0 }, { -8, -38, 42, 27, 2, 0 }, + { -9, -39, 42, 27, 2, 0 }, { -9, -40, 43, 27, 2, 0 }, { -10, -41, 44, 27, 2, 0 }, { -11, -42, 44, 28, 2, 0 }, { -12, -43, 45, 28, 2, 0 }, + { -13, -44, 46, 28, 2, 0 }, { -14, -45, 46, 28, 2, 0 }, { -15, -46, 47, 28, 2, 0 }, { -15, -47, 48, 28, 2, 0 }, { -16, -48, 48, 28, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagDown250, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 13, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 12, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 11, 0, 6, 0 }, { 23, 16, 10, 0, 6, 0 }, { 22, 15, 10, 0, 6, 0 }, + { 21, 15, 9, 31, 6, 0 }, { 20, 15, 9, 31, 6, 0 }, { 19, 15, 8, 31, 6, 0 }, { 18, 15, 8, 31, 6, 0 }, { 17, 15, 7, 31, 6, 0 }, + { 16, 15, 6, 31, 6, 0 }, { 15, 15, 6, 31, 6, 0 }, { 14, 14, 5, 31, 6, 0 }, { 13, 14, 5, 31, 6, 0 }, { 12, 14, 4, 31, 6, 0 }, + { 11, 14, 3, 31, 6, 0 }, { 10, 14, 3, 31, 6, 0 }, { 9, 13, 2, 31, 6, 0 }, { 8, 13, 2, 31, 6, 0 }, { 7, 13, 1, 31, 6, 0 }, + { 6, 13, 1, 31, 6, 0 }, { 5, 13, 0, 31, 6, 0 }, { 4, 12, -1, 31, 6, 0 }, { 3, 12, -1, 31, 6, 0 }, { 2, 12, -2, 31, 6, 0 }, + { 1, 11, -2, 31, 6, 0 }, { 0, 11, -3, 31, 6, 0 }, { -1, 11, -3, 30, 6, 0 }, { -2, 11, -4, 30, 6, 0 }, { -3, 10, -5, 30, 6, 0 }, + { -4, 10, -5, 30, 6, 0 }, { -5, 10, -6, 30, 6, 0 }, { -6, 9, -6, 30, 6, 0 }, { -7, 9, -7, 30, 6, 0 }, { -8, 8, -8, 30, 6, 0 }, + { -9, 8, -8, 30, 6, 0 }, { -10, 8, -9, 30, 6, 0 }, { -11, 7, -9, 30, 6, 0 }, { -12, 7, -10, 30, 6, 0 }, { -13, 7, -10, 30, 6, 0 }, + { -14, 6, -11, 30, 6, 0 }, { -15, 6, -12, 30, 6, 0 }, { -16, 5, -12, 30, 6, 0 }, { -17, 5, -13, 30, 6, 0 }, { -18, 4, -13, 30, 6, 0 }, + { -19, 4, -14, 30, 6, 0 }, { -20, 3, -15, 30, 6, 0 }, { -21, 3, -15, 30, 6, 0 }, { -22, 2, -16, 30, 6, 0 }, { -23, 2, -16, 30, 6, 0 }, + { -24, 1, -17, 29, 6, 0 }, { -25, 1, -18, 29, 6, 0 }, { -26, 0, -18, 29, 6, 0 }, { -27, 0, -19, 29, 6, 0 }, { -28, -1, -19, 29, 6, 0 }, + { -29, -2, -20, 29, 6, 0 }, { -30, -2, -21, 29, 6, 0 }, { -31, -3, -21, 29, 6, 0 }, { -32, -4, -22, 29, 6, 0 }, { -33, -4, -22, 29, 6, 0 }, + { -34, -5, -23, 29, 6, 0 }, { -35, -6, -24, 29, 6, 0 }, { -36, -6, -24, 29, 6, 0 }, { -37, -7, -25, 29, 6, 0 }, { -38, -8, -26, 29, 6, 0 }, + { -39, -9, -26, 29, 6, 0 }, { -40, -9, -27, 29, 6, 0 }, { -41, -10, -28, 29, 6, 0 }, { -42, -11, -28, 28, 6, 0 }, { -43, -12, -29, 28, 6, 0 }, + { -44, -13, -30, 28, 6, 0 }, { -45, -14, -30, 28, 6, 0 }, { -46, -15, -31, 28, 6, 0 }, { -47, -15, -32, 28, 6, 0 }, { -48, -16, -32, 28, 6, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagDown251, { + { 16, 0, 16, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, + { 16, 5, 13, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 12, 8, 6, 0 }, { 16, 8, 11, 8, 6, 0 }, { 16, 9, 10, 8, 6, 0 }, + { 15, 10, 10, 8, 6, 0 }, { 15, 11, 9, 7, 6, 0 }, { 15, 12, 9, 7, 6, 0 }, { 15, 13, 8, 7, 6, 0 }, { 15, 14, 8, 7, 6, 0 }, + { 15, 15, 7, 7, 6, 0 }, { 15, 16, 6, 7, 6, 0 }, { 15, 17, 6, 7, 6, 0 }, { 14, 18, 5, 7, 6, 0 }, { 14, 19, 5, 7, 6, 0 }, + { 14, 20, 4, 7, 6, 0 }, { 14, 21, 3, 7, 6, 0 }, { 14, 22, 3, 7, 6, 0 }, { 13, 23, 2, 7, 6, 0 }, { 13, 24, 2, 7, 6, 0 }, + { 13, 25, 1, 7, 6, 0 }, { 13, 26, 1, 7, 6, 0 }, { 13, 27, 0, 7, 6, 0 }, { 12, 28, -1, 7, 6, 0 }, { 12, 29, -1, 7, 6, 0 }, + { 12, 30, -2, 7, 6, 0 }, { 11, 31, -2, 7, 6, 0 }, { 11, 32, -3, 7, 6, 0 }, { 11, 33, -3, 6, 6, 0 }, { 11, 34, -4, 6, 6, 0 }, + { 10, 35, -5, 6, 6, 0 }, { 10, 36, -5, 6, 6, 0 }, { 10, 37, -6, 6, 6, 0 }, { 9, 38, -6, 6, 6, 0 }, { 9, 39, -7, 6, 6, 0 }, + { 8, 40, -8, 6, 6, 0 }, { 8, 41, -8, 6, 6, 0 }, { 8, 42, -9, 6, 6, 0 }, { 7, 43, -9, 6, 6, 0 }, { 7, 44, -10, 6, 6, 0 }, + { 7, 45, -10, 6, 6, 0 }, { 6, 46, -11, 6, 6, 0 }, { 6, 47, -12, 6, 6, 0 }, { 5, 48, -12, 6, 6, 0 }, { 5, 49, -13, 6, 6, 0 }, + { 4, 50, -13, 6, 6, 0 }, { 4, 51, -14, 6, 6, 0 }, { 3, 52, -15, 6, 6, 0 }, { 3, 53, -15, 6, 6, 0 }, { 2, 54, -16, 6, 6, 0 }, + { 2, 55, -16, 6, 6, 0 }, { 1, 56, -17, 5, 6, 0 }, { 1, 57, -18, 5, 6, 0 }, { 0, 58, -18, 5, 6, 0 }, { 0, 59, -19, 5, 6, 0 }, + { -1, 60, -19, 5, 6, 0 }, { -2, 61, -20, 5, 6, 0 }, { -2, 62, -21, 5, 6, 0 }, { -3, 63, -21, 5, 6, 0 }, { -4, 64, -22, 5, 6, 0 }, + { -4, 65, -22, 5, 6, 0 }, { -5, 66, -23, 5, 6, 0 }, { -6, 67, -24, 5, 6, 0 }, { -6, 68, -24, 5, 6, 0 }, { -7, 69, -25, 5, 6, 0 }, + { -8, 70, -26, 5, 6, 0 }, { -9, 71, -26, 5, 6, 0 }, { -9, 72, -27, 5, 6, 0 }, { -10, 73, -28, 5, 6, 0 }, { -11, 74, -28, 4, 6, 0 }, + { -12, 75, -29, 4, 6, 0 }, { -13, 76, -30, 4, 6, 0 }, { -14, 77, -30, 4, 6, 0 }, { -15, 78, -31, 4, 6, 0 }, { -15, 79, -32, 4, 6, 0 }, + { -16, 80, -32, 4, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagDown252, { + { 0, 16, 16, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, + { 5, 16, 13, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 12, 16, 6, 0 }, { 8, 16, 11, 16, 6, 0 }, { 9, 16, 10, 16, 6, 0 }, + { 10, 17, 10, 16, 6, 0 }, { 11, 17, 9, 15, 6, 0 }, { 12, 17, 9, 15, 6, 0 }, { 13, 17, 8, 15, 6, 0 }, { 14, 17, 8, 15, 6, 0 }, + { 15, 17, 7, 15, 6, 0 }, { 16, 17, 6, 15, 6, 0 }, { 17, 17, 6, 15, 6, 0 }, { 18, 18, 5, 15, 6, 0 }, { 19, 18, 5, 15, 6, 0 }, + { 20, 18, 4, 15, 6, 0 }, { 21, 18, 3, 15, 6, 0 }, { 22, 18, 3, 15, 6, 0 }, { 23, 19, 2, 15, 6, 0 }, { 24, 19, 2, 15, 6, 0 }, + { 25, 19, 1, 15, 6, 0 }, { 26, 19, 1, 15, 6, 0 }, { 27, 19, 0, 15, 6, 0 }, { 28, 20, -1, 15, 6, 0 }, { 29, 20, -1, 15, 6, 0 }, + { 30, 20, -2, 15, 6, 0 }, { 31, 21, -2, 15, 6, 0 }, { 32, 21, -3, 15, 6, 0 }, { 33, 21, -3, 14, 6, 0 }, { 34, 21, -4, 14, 6, 0 }, + { 35, 22, -5, 14, 6, 0 }, { 36, 22, -5, 14, 6, 0 }, { 37, 22, -6, 14, 6, 0 }, { 38, 23, -6, 14, 6, 0 }, { 39, 23, -7, 14, 6, 0 }, + { 40, 24, -8, 14, 6, 0 }, { 41, 24, -8, 14, 6, 0 }, { 42, 24, -9, 14, 6, 0 }, { 43, 25, -9, 14, 6, 0 }, { 44, 25, -10, 14, 6, 0 }, + { 45, 25, -10, 14, 6, 0 }, { 46, 26, -11, 14, 6, 0 }, { 47, 26, -12, 14, 6, 0 }, { 48, 27, -12, 14, 6, 0 }, { 49, 27, -13, 14, 6, 0 }, + { 50, 28, -13, 14, 6, 0 }, { 51, 28, -14, 14, 6, 0 }, { 52, 29, -15, 14, 6, 0 }, { 53, 29, -15, 14, 6, 0 }, { 54, 30, -16, 14, 6, 0 }, + { 55, 30, -16, 14, 6, 0 }, { 56, 31, -17, 13, 6, 0 }, { 57, 31, -18, 13, 6, 0 }, { 58, 32, -18, 13, 6, 0 }, { 59, 32, -19, 13, 6, 0 }, + { 60, 33, -19, 13, 6, 0 }, { 61, 34, -20, 13, 6, 0 }, { 62, 34, -21, 13, 6, 0 }, { 63, 35, -21, 13, 6, 0 }, { 64, 36, -22, 13, 6, 0 }, + { 65, 36, -22, 13, 6, 0 }, { 66, 37, -23, 13, 6, 0 }, { 67, 38, -24, 13, 6, 0 }, { 68, 38, -24, 13, 6, 0 }, { 69, 39, -25, 13, 6, 0 }, + { 70, 40, -26, 13, 6, 0 }, { 71, 41, -26, 13, 6, 0 }, { 72, 41, -27, 13, 6, 0 }, { 73, 42, -28, 13, 6, 0 }, { 74, 43, -28, 12, 6, 0 }, + { 75, 44, -29, 12, 6, 0 }, { 76, 45, -30, 12, 6, 0 }, { 77, 46, -30, 12, 6, 0 }, { 78, 47, -31, 12, 6, 0 }, { 79, 47, -32, 12, 6, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToDiagDown253, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 13, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 12, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 11, 24, 6, 0 }, { 16, 23, 10, 24, 6, 0 }, { 17, 22, 10, 24, 6, 0 }, + { 17, 21, 9, 23, 6, 0 }, { 17, 20, 9, 23, 6, 0 }, { 17, 19, 8, 23, 6, 0 }, { 17, 18, 8, 23, 6, 0 }, { 17, 17, 7, 23, 6, 0 }, + { 17, 16, 6, 23, 6, 0 }, { 17, 15, 6, 23, 6, 0 }, { 18, 14, 5, 23, 6, 0 }, { 18, 13, 5, 23, 6, 0 }, { 18, 12, 4, 23, 6, 0 }, + { 18, 11, 3, 23, 6, 0 }, { 18, 10, 3, 23, 6, 0 }, { 19, 9, 2, 23, 6, 0 }, { 19, 8, 2, 23, 6, 0 }, { 19, 7, 1, 23, 6, 0 }, + { 19, 6, 1, 23, 6, 0 }, { 19, 5, 0, 23, 6, 0 }, { 20, 4, -1, 23, 6, 0 }, { 20, 3, -1, 23, 6, 0 }, { 20, 2, -2, 23, 6, 0 }, + { 21, 1, -2, 23, 6, 0 }, { 21, 0, -3, 23, 6, 0 }, { 21, -1, -3, 22, 6, 0 }, { 21, -2, -4, 22, 6, 0 }, { 22, -3, -5, 22, 6, 0 }, + { 22, -4, -5, 22, 6, 0 }, { 22, -5, -6, 22, 6, 0 }, { 23, -6, -6, 22, 6, 0 }, { 23, -7, -7, 22, 6, 0 }, { 24, -8, -8, 22, 6, 0 }, + { 24, -9, -8, 22, 6, 0 }, { 24, -10, -9, 22, 6, 0 }, { 25, -11, -9, 22, 6, 0 }, { 25, -12, -10, 22, 6, 0 }, { 25, -13, -10, 22, 6, 0 }, + { 26, -14, -11, 22, 6, 0 }, { 26, -15, -12, 22, 6, 0 }, { 27, -16, -12, 22, 6, 0 }, { 27, -17, -13, 22, 6, 0 }, { 28, -18, -13, 22, 6, 0 }, + { 28, -19, -14, 22, 6, 0 }, { 29, -20, -15, 22, 6, 0 }, { 29, -21, -15, 22, 6, 0 }, { 30, -22, -16, 22, 6, 0 }, { 30, -23, -16, 22, 6, 0 }, + { 31, -24, -17, 21, 6, 0 }, { 31, -25, -18, 21, 6, 0 }, { 32, -26, -18, 21, 6, 0 }, { 32, -27, -19, 21, 6, 0 }, { 33, -28, -19, 21, 6, 0 }, + { 34, -29, -20, 21, 6, 0 }, { 34, -30, -21, 21, 6, 0 }, { 35, -31, -21, 21, 6, 0 }, { 36, -32, -22, 21, 6, 0 }, { 36, -33, -22, 21, 6, 0 }, + { 37, -34, -23, 21, 6, 0 }, { 38, -35, -24, 21, 6, 0 }, { 38, -36, -24, 21, 6, 0 }, { 39, -37, -25, 21, 6, 0 }, { 40, -38, -26, 21, 6, 0 }, + { 41, -39, -26, 21, 6, 0 }, { 41, -40, -27, 21, 6, 0 }, { 42, -41, -28, 21, 6, 0 }, { 43, -42, -28, 20, 6, 0 }, { 44, -43, -29, 20, 6, 0 }, + { 45, -44, -30, 20, 6, 0 }, { 46, -45, -30, 20, 6, 0 }, { 47, -46, -31, 20, 6, 0 }, { 47, -47, -32, 20, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagDown250, { + { 31, 16, 15, 0, 6, 0 }, { 30, 16, 15, 0, 6, 0 }, { 29, 16, 14, 0, 6, 0 }, { 28, 16, 13, 0, 6, 0 }, { 27, 16, 13, 0, 6, 0 }, + { 26, 16, 12, 0, 6, 0 }, { 25, 16, 12, 0, 6, 0 }, { 24, 16, 11, 0, 6, 0 }, { 23, 16, 10, 0, 6, 0 }, { 22, 17, 10, 0, 6, 0 }, + { 21, 17, 9, 1, 6, 0 }, { 20, 17, 9, 1, 6, 0 }, { 19, 17, 8, 1, 6, 0 }, { 18, 17, 8, 1, 6, 0 }, { 17, 17, 7, 1, 6, 0 }, + { 16, 17, 6, 1, 6, 0 }, { 15, 17, 6, 1, 6, 0 }, { 14, 18, 5, 1, 6, 0 }, { 13, 18, 5, 1, 6, 0 }, { 12, 18, 4, 1, 6, 0 }, + { 11, 18, 3, 1, 6, 0 }, { 10, 18, 3, 1, 6, 0 }, { 9, 19, 2, 1, 6, 0 }, { 8, 19, 2, 1, 6, 0 }, { 7, 19, 1, 1, 6, 0 }, + { 6, 19, 1, 1, 6, 0 }, { 5, 19, 0, 1, 6, 0 }, { 4, 20, -1, 1, 6, 0 }, { 3, 20, -1, 1, 6, 0 }, { 2, 20, -2, 1, 6, 0 }, + { 1, 21, -2, 1, 6, 0 }, { 0, 21, -3, 1, 6, 0 }, { -1, 21, -3, 2, 6, 0 }, { -2, 21, -4, 2, 6, 0 }, { -3, 22, -5, 2, 6, 0 }, + { -4, 22, -5, 2, 6, 0 }, { -5, 22, -6, 2, 6, 0 }, { -6, 23, -6, 2, 6, 0 }, { -7, 23, -7, 2, 6, 0 }, { -8, 24, -8, 2, 6, 0 }, + { -9, 24, -8, 2, 6, 0 }, { -10, 24, -9, 2, 6, 0 }, { -11, 25, -9, 2, 6, 0 }, { -12, 25, -10, 2, 6, 0 }, { -13, 25, -10, 2, 6, 0 }, + { -14, 26, -11, 2, 6, 0 }, { -15, 26, -12, 2, 6, 0 }, { -16, 27, -12, 2, 6, 0 }, { -17, 27, -13, 2, 6, 0 }, { -18, 28, -13, 2, 6, 0 }, + { -19, 28, -14, 2, 6, 0 }, { -20, 29, -15, 2, 6, 0 }, { -21, 29, -15, 2, 6, 0 }, { -22, 30, -16, 2, 6, 0 }, { -23, 30, -16, 2, 6, 0 }, + { -24, 31, -17, 3, 6, 0 }, { -25, 31, -18, 3, 6, 0 }, { -26, 32, -18, 3, 6, 0 }, { -27, 32, -19, 3, 6, 0 }, { -28, 33, -19, 3, 6, 0 }, + { -29, 34, -20, 3, 6, 0 }, { -30, 34, -21, 3, 6, 0 }, { -31, 35, -21, 3, 6, 0 }, { -32, 36, -22, 3, 6, 0 }, { -33, 36, -22, 3, 6, 0 }, + { -34, 37, -23, 3, 6, 0 }, { -35, 38, -24, 3, 6, 0 }, { -36, 38, -24, 3, 6, 0 }, { -37, 39, -25, 3, 6, 0 }, { -38, 40, -26, 3, 6, 0 }, + { -39, 41, -26, 3, 6, 0 }, { -40, 41, -27, 3, 6, 0 }, { -41, 42, -28, 3, 6, 0 }, { -42, 43, -28, 4, 6, 0 }, { -43, 44, -29, 4, 6, 0 }, + { -44, 45, -30, 4, 6, 0 }, { -45, 46, -30, 4, 6, 0 }, { -46, 47, -31, 4, 6, 0 }, { -47, 47, -32, 4, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagDown251, { + { 16, 0, 16, 8, 6, 0 }, { 16, 1, 15, 8, 6, 0 }, { 16, 2, 15, 8, 6, 0 }, { 16, 3, 14, 8, 6, 0 }, { 16, 4, 13, 8, 6, 0 }, + { 16, 5, 13, 8, 6, 0 }, { 16, 6, 12, 8, 6, 0 }, { 16, 7, 12, 8, 6, 0 }, { 16, 8, 11, 8, 6, 0 }, { 16, 9, 10, 8, 6, 0 }, + { 17, 10, 10, 8, 6, 0 }, { 17, 11, 9, 9, 6, 0 }, { 17, 12, 9, 9, 6, 0 }, { 17, 13, 8, 9, 6, 0 }, { 17, 14, 8, 9, 6, 0 }, + { 17, 15, 7, 9, 6, 0 }, { 17, 16, 6, 9, 6, 0 }, { 17, 17, 6, 9, 6, 0 }, { 18, 18, 5, 9, 6, 0 }, { 18, 19, 5, 9, 6, 0 }, + { 18, 20, 4, 9, 6, 0 }, { 18, 21, 3, 9, 6, 0 }, { 18, 22, 3, 9, 6, 0 }, { 19, 23, 2, 9, 6, 0 }, { 19, 24, 2, 9, 6, 0 }, + { 19, 25, 1, 9, 6, 0 }, { 19, 26, 1, 9, 6, 0 }, { 19, 27, 0, 9, 6, 0 }, { 20, 28, -1, 9, 6, 0 }, { 20, 29, -1, 9, 6, 0 }, + { 20, 30, -2, 9, 6, 0 }, { 21, 31, -2, 9, 6, 0 }, { 21, 32, -3, 9, 6, 0 }, { 21, 33, -3, 10, 6, 0 }, { 21, 34, -4, 10, 6, 0 }, + { 22, 35, -5, 10, 6, 0 }, { 22, 36, -5, 10, 6, 0 }, { 22, 37, -6, 10, 6, 0 }, { 23, 38, -6, 10, 6, 0 }, { 23, 39, -7, 10, 6, 0 }, + { 24, 40, -8, 10, 6, 0 }, { 24, 41, -8, 10, 6, 0 }, { 24, 42, -9, 10, 6, 0 }, { 25, 43, -9, 10, 6, 0 }, { 25, 44, -10, 10, 6, 0 }, + { 25, 45, -10, 10, 6, 0 }, { 26, 46, -11, 10, 6, 0 }, { 26, 47, -12, 10, 6, 0 }, { 27, 48, -12, 10, 6, 0 }, { 27, 49, -13, 10, 6, 0 }, + { 28, 50, -13, 10, 6, 0 }, { 28, 51, -14, 10, 6, 0 }, { 29, 52, -15, 10, 6, 0 }, { 29, 53, -15, 10, 6, 0 }, { 30, 54, -16, 10, 6, 0 }, + { 30, 55, -16, 10, 6, 0 }, { 31, 56, -17, 11, 6, 0 }, { 31, 57, -18, 11, 6, 0 }, { 32, 58, -18, 11, 6, 0 }, { 32, 59, -19, 11, 6, 0 }, + { 33, 60, -19, 11, 6, 0 }, { 34, 61, -20, 11, 6, 0 }, { 34, 62, -21, 11, 6, 0 }, { 35, 63, -21, 11, 6, 0 }, { 36, 64, -22, 11, 6, 0 }, + { 36, 65, -22, 11, 6, 0 }, { 37, 66, -23, 11, 6, 0 }, { 38, 67, -24, 11, 6, 0 }, { 38, 68, -24, 11, 6, 0 }, { 39, 69, -25, 11, 6, 0 }, + { 40, 70, -26, 11, 6, 0 }, { 41, 71, -26, 11, 6, 0 }, { 41, 72, -27, 11, 6, 0 }, { 42, 73, -28, 11, 6, 0 }, { 43, 74, -28, 12, 6, 0 }, + { 44, 75, -29, 12, 6, 0 }, { 45, 76, -30, 12, 6, 0 }, { 46, 77, -30, 12, 6, 0 }, { 47, 78, -31, 12, 6, 0 }, { 47, 79, -32, 12, 6, 0 }, + { 48, 80, -32, 12, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagDown252, { + { 0, 16, 16, 16, 6, 0 }, { 1, 16, 15, 16, 6, 0 }, { 2, 16, 15, 16, 6, 0 }, { 3, 16, 14, 16, 6, 0 }, { 4, 16, 13, 16, 6, 0 }, + { 5, 16, 13, 16, 6, 0 }, { 6, 16, 12, 16, 6, 0 }, { 7, 16, 12, 16, 6, 0 }, { 8, 16, 11, 16, 6, 0 }, { 9, 16, 10, 16, 6, 0 }, + { 10, 15, 10, 16, 6, 0 }, { 11, 15, 9, 17, 6, 0 }, { 12, 15, 9, 17, 6, 0 }, { 13, 15, 8, 17, 6, 0 }, { 14, 15, 8, 17, 6, 0 }, + { 15, 15, 7, 17, 6, 0 }, { 16, 15, 6, 17, 6, 0 }, { 17, 15, 6, 17, 6, 0 }, { 18, 14, 5, 17, 6, 0 }, { 19, 14, 5, 17, 6, 0 }, + { 20, 14, 4, 17, 6, 0 }, { 21, 14, 3, 17, 6, 0 }, { 22, 14, 3, 17, 6, 0 }, { 23, 13, 2, 17, 6, 0 }, { 24, 13, 2, 17, 6, 0 }, + { 25, 13, 1, 17, 6, 0 }, { 26, 13, 1, 17, 6, 0 }, { 27, 13, 0, 17, 6, 0 }, { 28, 12, -1, 17, 6, 0 }, { 29, 12, -1, 17, 6, 0 }, + { 30, 12, -2, 17, 6, 0 }, { 31, 11, -2, 17, 6, 0 }, { 32, 11, -3, 17, 6, 0 }, { 33, 11, -3, 18, 6, 0 }, { 34, 11, -4, 18, 6, 0 }, + { 35, 10, -5, 18, 6, 0 }, { 36, 10, -5, 18, 6, 0 }, { 37, 10, -6, 18, 6, 0 }, { 38, 9, -6, 18, 6, 0 }, { 39, 9, -7, 18, 6, 0 }, + { 40, 8, -8, 18, 6, 0 }, { 41, 8, -8, 18, 6, 0 }, { 42, 8, -9, 18, 6, 0 }, { 43, 7, -9, 18, 6, 0 }, { 44, 7, -10, 18, 6, 0 }, + { 45, 7, -10, 18, 6, 0 }, { 46, 6, -11, 18, 6, 0 }, { 47, 6, -12, 18, 6, 0 }, { 48, 5, -12, 18, 6, 0 }, { 49, 5, -13, 18, 6, 0 }, + { 50, 4, -13, 18, 6, 0 }, { 51, 4, -14, 18, 6, 0 }, { 52, 3, -15, 18, 6, 0 }, { 53, 3, -15, 18, 6, 0 }, { 54, 2, -16, 18, 6, 0 }, + { 55, 2, -16, 18, 6, 0 }, { 56, 1, -17, 19, 6, 0 }, { 57, 1, -18, 19, 6, 0 }, { 58, 0, -18, 19, 6, 0 }, { 59, 0, -19, 19, 6, 0 }, + { 60, -1, -19, 19, 6, 0 }, { 61, -2, -20, 19, 6, 0 }, { 62, -2, -21, 19, 6, 0 }, { 63, -3, -21, 19, 6, 0 }, { 64, -4, -22, 19, 6, 0 }, + { 65, -4, -22, 19, 6, 0 }, { 66, -5, -23, 19, 6, 0 }, { 67, -6, -24, 19, 6, 0 }, { 68, -6, -24, 19, 6, 0 }, { 69, -7, -25, 19, 6, 0 }, + { 70, -8, -26, 19, 6, 0 }, { 71, -9, -26, 19, 6, 0 }, { 72, -9, -27, 19, 6, 0 }, { 73, -10, -28, 19, 6, 0 }, { 74, -11, -28, 20, 6, 0 }, + { 75, -12, -29, 20, 6, 0 }, { 76, -13, -30, 20, 6, 0 }, { 77, -14, -30, 20, 6, 0 }, { 78, -15, -31, 20, 6, 0 }, { 79, -15, -32, 20, 6, 0 }, + { 80, -16, -32, 20, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToDiagDown253, { + { 16, 31, 15, 24, 6, 0 }, { 16, 30, 15, 24, 6, 0 }, { 16, 29, 14, 24, 6, 0 }, { 16, 28, 13, 24, 6, 0 }, { 16, 27, 13, 24, 6, 0 }, + { 16, 26, 12, 24, 6, 0 }, { 16, 25, 12, 24, 6, 0 }, { 16, 24, 11, 24, 6, 0 }, { 16, 23, 10, 24, 6, 0 }, { 15, 22, 10, 24, 6, 0 }, + { 15, 21, 9, 25, 6, 0 }, { 15, 20, 9, 25, 6, 0 }, { 15, 19, 8, 25, 6, 0 }, { 15, 18, 8, 25, 6, 0 }, { 15, 17, 7, 25, 6, 0 }, + { 15, 16, 6, 25, 6, 0 }, { 15, 15, 6, 25, 6, 0 }, { 14, 14, 5, 25, 6, 0 }, { 14, 13, 5, 25, 6, 0 }, { 14, 12, 4, 25, 6, 0 }, + { 14, 11, 3, 25, 6, 0 }, { 14, 10, 3, 25, 6, 0 }, { 13, 9, 2, 25, 6, 0 }, { 13, 8, 2, 25, 6, 0 }, { 13, 7, 1, 25, 6, 0 }, + { 13, 6, 1, 25, 6, 0 }, { 13, 5, 0, 25, 6, 0 }, { 12, 4, -1, 25, 6, 0 }, { 12, 3, -1, 25, 6, 0 }, { 12, 2, -2, 25, 6, 0 }, + { 11, 1, -2, 25, 6, 0 }, { 11, 0, -3, 25, 6, 0 }, { 11, -1, -3, 26, 6, 0 }, { 11, -2, -4, 26, 6, 0 }, { 10, -3, -5, 26, 6, 0 }, + { 10, -4, -5, 26, 6, 0 }, { 10, -5, -6, 26, 6, 0 }, { 9, -6, -6, 26, 6, 0 }, { 9, -7, -7, 26, 6, 0 }, { 8, -8, -8, 26, 6, 0 }, + { 8, -9, -8, 26, 6, 0 }, { 8, -10, -9, 26, 6, 0 }, { 7, -11, -9, 26, 6, 0 }, { 7, -12, -10, 26, 6, 0 }, { 7, -13, -10, 26, 6, 0 }, + { 6, -14, -11, 26, 6, 0 }, { 6, -15, -12, 26, 6, 0 }, { 5, -16, -12, 26, 6, 0 }, { 5, -17, -13, 26, 6, 0 }, { 4, -18, -13, 26, 6, 0 }, + { 4, -19, -14, 26, 6, 0 }, { 3, -20, -15, 26, 6, 0 }, { 3, -21, -15, 26, 6, 0 }, { 2, -22, -16, 26, 6, 0 }, { 2, -23, -16, 26, 6, 0 }, + { 1, -24, -17, 27, 6, 0 }, { 1, -25, -18, 27, 6, 0 }, { 0, -26, -18, 27, 6, 0 }, { 0, -27, -19, 27, 6, 0 }, { -1, -28, -19, 27, 6, 0 }, + { -2, -29, -20, 27, 6, 0 }, { -2, -30, -21, 27, 6, 0 }, { -3, -31, -21, 27, 6, 0 }, { -4, -32, -22, 27, 6, 0 }, { -4, -33, -22, 27, 6, 0 }, + { -5, -34, -23, 27, 6, 0 }, { -6, -35, -24, 27, 6, 0 }, { -6, -36, -24, 27, 6, 0 }, { -7, -37, -25, 27, 6, 0 }, { -8, -38, -26, 27, 6, 0 }, + { -9, -39, -26, 27, 6, 0 }, { -9, -40, -27, 27, 6, 0 }, { -10, -41, -28, 27, 6, 0 }, { -11, -42, -28, 28, 6, 0 }, { -12, -43, -29, 28, 6, 0 }, + { -13, -44, -30, 28, 6, 0 }, { -14, -45, -30, 28, 6, 0 }, { -15, -46, -31, 28, 6, 0 }, { -15, -47, -32, 28, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalUp250, { + { 15, 16, 1, 4, 2, 0 }, { 14, 17, 2, 4, 2, 0 }, { 13, 18, 2, 4, 2, 0 }, { 12, 19, 3, 4, 2, 0 }, { 11, 20, 4, 4, 2, 0 }, + { 10, 21, 4, 3, 2, 0 }, { 9, 22, 5, 3, 2, 0 }, { 8, 22, 6, 3, 2, 0 }, { 7, 23, 6, 3, 2, 0 }, { 6, 24, 7, 3, 2, 0 }, + { 5, 25, 8, 3, 2, 0 }, { 4, 25, 8, 3, 2, 0 }, { 3, 26, 9, 3, 2, 0 }, { 2, 27, 9, 3, 2, 0 }, { 1, 27, 10, 3, 2, 0 }, + { 0, 28, 11, 3, 2, 0 }, { -1, 29, 11, 3, 2, 0 }, { -2, 29, 12, 3, 2, 0 }, { -3, 30, 13, 3, 2, 0 }, { -4, 30, 13, 3, 2, 0 }, + { -5, 31, 14, 3, 2, 0 }, { -6, 32, 14, 3, 2, 0 }, { -7, 32, 15, 3, 2, 0 }, { -8, 33, 16, 2, 2, 0 }, { -9, 33, 16, 2, 2, 0 }, + { -10, 34, 17, 2, 2, 0 }, { -11, 34, 17, 2, 2, 0 }, { -12, 35, 18, 2, 2, 0 }, { -13, 35, 19, 2, 2, 0 }, { -14, 36, 19, 2, 2, 0 }, + { -15, 36, 20, 2, 2, 0 }, { -16, 37, 20, 2, 2, 0 }, { -17, 37, 21, 2, 2, 0 }, { -18, 37, 22, 2, 2, 0 }, { -19, 38, 22, 2, 2, 0 }, + { -20, 38, 23, 2, 2, 0 }, { -21, 39, 23, 2, 2, 0 }, { -22, 39, 24, 2, 2, 0 }, { -23, 39, 24, 2, 2, 0 }, { -24, 40, 25, 2, 2, 0 }, + { -25, 40, 26, 2, 2, 0 }, { -26, 41, 26, 2, 2, 0 }, { -27, 41, 27, 2, 2, 0 }, { -28, 41, 27, 2, 2, 0 }, { -29, 42, 28, 2, 2, 0 }, + { -30, 42, 29, 2, 2, 0 }, { -31, 42, 29, 1, 2, 0 }, { -32, 42, 30, 1, 2, 0 }, { -33, 43, 30, 1, 2, 0 }, { -34, 43, 31, 1, 2, 0 }, + { -35, 43, 31, 1, 2, 0 }, { -36, 44, 32, 1, 2, 0 }, { -37, 44, 33, 1, 2, 0 }, { -38, 44, 33, 1, 2, 0 }, { -39, 44, 34, 1, 2, 0 }, + { -40, 44, 34, 1, 2, 0 }, { -41, 45, 35, 1, 2, 0 }, { -42, 45, 35, 1, 2, 0 }, { -43, 45, 36, 1, 2, 0 }, { -44, 45, 37, 1, 2, 0 }, + { -45, 45, 37, 1, 2, 0 }, { -46, 46, 38, 1, 2, 0 }, { -47, 46, 38, 1, 2, 0 }, { -48, 46, 39, 1, 2, 0 }, { -49, 46, 39, 1, 2, 0 }, + { -50, 46, 40, 1, 2, 0 }, { -51, 46, 41, 1, 2, 0 }, { -52, 46, 41, 1, 2, 0 }, { -53, 46, 42, 0, 2, 0 }, { -54, 47, 42, 0, 2, 0 }, + { -55, 47, 43, 0, 2, 0 }, { -56, 47, 44, 0, 2, 0 }, { -57, 47, 44, 0, 2, 0 }, { -58, 47, 45, 0, 2, 0 }, { -59, 47, 45, 0, 2, 0 }, + { -60, 47, 46, 0, 2, 0 }, { -61, 47, 47, 0, 2, 0 }, { -62, 47, 47, 0, 2, 0 }, { -63, 47, 48, 0, 2, 0 }, { -64, 47, 48, 0, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalUp251, { + { 16, 16, 0, 12, 2, 0 }, { 17, 17, 1, 12, 2, 0 }, { 18, 18, 2, 12, 2, 0 }, { 19, 19, 2, 12, 2, 0 }, { 20, 20, 3, 12, 2, 0 }, + { 21, 21, 4, 12, 2, 0 }, { 22, 22, 4, 11, 2, 0 }, { 23, 23, 5, 11, 2, 0 }, { 23, 24, 6, 11, 2, 0 }, { 24, 25, 6, 11, 2, 0 }, + { 25, 26, 7, 11, 2, 0 }, { 26, 27, 8, 11, 2, 0 }, { 26, 28, 8, 11, 2, 0 }, { 27, 29, 9, 11, 2, 0 }, { 28, 30, 9, 11, 2, 0 }, + { 28, 31, 10, 11, 2, 0 }, { 29, 32, 11, 11, 2, 0 }, { 30, 33, 11, 11, 2, 0 }, { 30, 34, 12, 11, 2, 0 }, { 31, 35, 13, 11, 2, 0 }, + { 31, 36, 13, 11, 2, 0 }, { 32, 37, 14, 11, 2, 0 }, { 33, 38, 14, 11, 2, 0 }, { 33, 39, 15, 11, 2, 0 }, { 34, 40, 16, 10, 2, 0 }, + { 34, 41, 16, 10, 2, 0 }, { 35, 42, 17, 10, 2, 0 }, { 35, 43, 17, 10, 2, 0 }, { 36, 44, 18, 10, 2, 0 }, { 36, 45, 19, 10, 2, 0 }, + { 37, 46, 19, 10, 2, 0 }, { 37, 47, 20, 10, 2, 0 }, { 38, 48, 20, 10, 2, 0 }, { 38, 49, 21, 10, 2, 0 }, { 38, 50, 22, 10, 2, 0 }, + { 39, 51, 22, 10, 2, 0 }, { 39, 52, 23, 10, 2, 0 }, { 40, 53, 23, 10, 2, 0 }, { 40, 54, 24, 10, 2, 0 }, { 40, 55, 24, 10, 2, 0 }, + { 41, 56, 25, 10, 2, 0 }, { 41, 57, 26, 10, 2, 0 }, { 42, 58, 26, 10, 2, 0 }, { 42, 59, 27, 10, 2, 0 }, { 42, 60, 27, 10, 2, 0 }, + { 43, 61, 28, 10, 2, 0 }, { 43, 62, 29, 10, 2, 0 }, { 43, 63, 29, 9, 2, 0 }, { 43, 64, 30, 9, 2, 0 }, { 44, 65, 30, 9, 2, 0 }, + { 44, 66, 31, 9, 2, 0 }, { 44, 67, 31, 9, 2, 0 }, { 45, 68, 32, 9, 2, 0 }, { 45, 69, 33, 9, 2, 0 }, { 45, 70, 33, 9, 2, 0 }, + { 45, 71, 34, 9, 2, 0 }, { 45, 72, 34, 9, 2, 0 }, { 46, 73, 35, 9, 2, 0 }, { 46, 74, 35, 9, 2, 0 }, { 46, 75, 36, 9, 2, 0 }, + { 46, 76, 37, 9, 2, 0 }, { 46, 77, 37, 9, 2, 0 }, { 47, 78, 38, 9, 2, 0 }, { 47, 79, 38, 9, 2, 0 }, { 47, 80, 39, 9, 2, 0 }, + { 47, 81, 39, 9, 2, 0 }, { 47, 82, 40, 9, 2, 0 }, { 47, 83, 41, 9, 2, 0 }, { 47, 84, 41, 9, 2, 0 }, { 47, 85, 42, 8, 2, 0 }, + { 48, 86, 42, 8, 2, 0 }, { 48, 87, 43, 8, 2, 0 }, { 48, 88, 44, 8, 2, 0 }, { 48, 89, 44, 8, 2, 0 }, { 48, 90, 45, 8, 2, 0 }, + { 48, 91, 45, 8, 2, 0 }, { 48, 92, 46, 8, 2, 0 }, { 48, 93, 47, 8, 2, 0 }, { 48, 94, 47, 8, 2, 0 }, { 48, 95, 48, 8, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalUp252, { + { 16, 15, 0, 20, 2, 0 }, { 17, 14, 1, 20, 2, 0 }, { 18, 13, 2, 20, 2, 0 }, { 19, 12, 2, 20, 2, 0 }, { 20, 11, 3, 20, 2, 0 }, + { 21, 10, 4, 20, 2, 0 }, { 22, 9, 4, 19, 2, 0 }, { 23, 8, 5, 19, 2, 0 }, { 24, 8, 6, 19, 2, 0 }, { 25, 7, 6, 19, 2, 0 }, + { 26, 6, 7, 19, 2, 0 }, { 27, 5, 8, 19, 2, 0 }, { 28, 5, 8, 19, 2, 0 }, { 29, 4, 9, 19, 2, 0 }, { 30, 3, 9, 19, 2, 0 }, + { 31, 3, 10, 19, 2, 0 }, { 32, 2, 11, 19, 2, 0 }, { 33, 1, 11, 19, 2, 0 }, { 34, 1, 12, 19, 2, 0 }, { 35, 0, 13, 19, 2, 0 }, + { 36, 0, 13, 19, 2, 0 }, { 37, -1, 14, 19, 2, 0 }, { 38, -2, 14, 19, 2, 0 }, { 39, -2, 15, 19, 2, 0 }, { 40, -3, 16, 18, 2, 0 }, + { 41, -3, 16, 18, 2, 0 }, { 42, -4, 17, 18, 2, 0 }, { 43, -4, 17, 18, 2, 0 }, { 44, -5, 18, 18, 2, 0 }, { 45, -5, 19, 18, 2, 0 }, + { 46, -6, 19, 18, 2, 0 }, { 47, -6, 20, 18, 2, 0 }, { 48, -7, 20, 18, 2, 0 }, { 49, -7, 21, 18, 2, 0 }, { 50, -7, 22, 18, 2, 0 }, + { 51, -8, 22, 18, 2, 0 }, { 52, -8, 23, 18, 2, 0 }, { 53, -9, 23, 18, 2, 0 }, { 54, -9, 24, 18, 2, 0 }, { 55, -9, 24, 18, 2, 0 }, + { 56, -10, 25, 18, 2, 0 }, { 57, -10, 26, 18, 2, 0 }, { 58, -11, 26, 18, 2, 0 }, { 59, -11, 27, 18, 2, 0 }, { 60, -11, 27, 18, 2, 0 }, + { 61, -12, 28, 18, 2, 0 }, { 62, -12, 29, 18, 2, 0 }, { 63, -12, 29, 17, 2, 0 }, { 64, -12, 30, 17, 2, 0 }, { 65, -13, 30, 17, 2, 0 }, + { 66, -13, 31, 17, 2, 0 }, { 67, -13, 31, 17, 2, 0 }, { 68, -14, 32, 17, 2, 0 }, { 69, -14, 33, 17, 2, 0 }, { 70, -14, 33, 17, 2, 0 }, + { 71, -14, 34, 17, 2, 0 }, { 72, -14, 34, 17, 2, 0 }, { 73, -15, 35, 17, 2, 0 }, { 74, -15, 35, 17, 2, 0 }, { 75, -15, 36, 17, 2, 0 }, + { 76, -15, 37, 17, 2, 0 }, { 77, -15, 37, 17, 2, 0 }, { 78, -16, 38, 17, 2, 0 }, { 79, -16, 38, 17, 2, 0 }, { 80, -16, 39, 17, 2, 0 }, + { 81, -16, 39, 17, 2, 0 }, { 82, -16, 40, 17, 2, 0 }, { 83, -16, 41, 17, 2, 0 }, { 84, -16, 41, 17, 2, 0 }, { 85, -16, 42, 16, 2, 0 }, + { 86, -17, 42, 16, 2, 0 }, { 87, -17, 43, 16, 2, 0 }, { 88, -17, 44, 16, 2, 0 }, { 89, -17, 44, 16, 2, 0 }, { 90, -17, 45, 16, 2, 0 }, + { 91, -17, 45, 16, 2, 0 }, { 92, -17, 46, 16, 2, 0 }, { 93, -17, 47, 16, 2, 0 }, { 94, -17, 47, 16, 2, 0 }, { 95, -17, 48, 16, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalUp253, { + { 15, 15, 1, 28, 2, 0 }, { 14, 14, 2, 28, 2, 0 }, { 13, 13, 2, 28, 2, 0 }, { 12, 12, 3, 28, 2, 0 }, { 11, 11, 4, 28, 2, 0 }, + { 10, 10, 4, 27, 2, 0 }, { 9, 9, 5, 27, 2, 0 }, { 9, 8, 6, 27, 2, 0 }, { 8, 7, 6, 27, 2, 0 }, { 7, 6, 7, 27, 2, 0 }, + { 6, 5, 8, 27, 2, 0 }, { 6, 4, 8, 27, 2, 0 }, { 5, 3, 9, 27, 2, 0 }, { 4, 2, 9, 27, 2, 0 }, { 4, 1, 10, 27, 2, 0 }, + { 3, 0, 11, 27, 2, 0 }, { 2, -1, 11, 27, 2, 0 }, { 2, -2, 12, 27, 2, 0 }, { 1, -3, 13, 27, 2, 0 }, { 1, -4, 13, 27, 2, 0 }, + { 0, -5, 14, 27, 2, 0 }, { -1, -6, 14, 27, 2, 0 }, { -1, -7, 15, 27, 2, 0 }, { -2, -8, 16, 26, 2, 0 }, { -2, -9, 16, 26, 2, 0 }, + { -3, -10, 17, 26, 2, 0 }, { -3, -11, 17, 26, 2, 0 }, { -4, -12, 18, 26, 2, 0 }, { -4, -13, 19, 26, 2, 0 }, { -5, -14, 19, 26, 2, 0 }, + { -5, -15, 20, 26, 2, 0 }, { -6, -16, 20, 26, 2, 0 }, { -6, -17, 21, 26, 2, 0 }, { -6, -18, 22, 26, 2, 0 }, { -7, -19, 22, 26, 2, 0 }, + { -7, -20, 23, 26, 2, 0 }, { -8, -21, 23, 26, 2, 0 }, { -8, -22, 24, 26, 2, 0 }, { -8, -23, 24, 26, 2, 0 }, { -9, -24, 25, 26, 2, 0 }, + { -9, -25, 26, 26, 2, 0 }, { -10, -26, 26, 26, 2, 0 }, { -10, -27, 27, 26, 2, 0 }, { -10, -28, 27, 26, 2, 0 }, { -11, -29, 28, 26, 2, 0 }, + { -11, -30, 29, 26, 2, 0 }, { -11, -31, 29, 25, 2, 0 }, { -11, -32, 30, 25, 2, 0 }, { -12, -33, 30, 25, 2, 0 }, { -12, -34, 31, 25, 2, 0 }, + { -12, -35, 31, 25, 2, 0 }, { -13, -36, 32, 25, 2, 0 }, { -13, -37, 33, 25, 2, 0 }, { -13, -38, 33, 25, 2, 0 }, { -13, -39, 34, 25, 2, 0 }, + { -13, -40, 34, 25, 2, 0 }, { -14, -41, 35, 25, 2, 0 }, { -14, -42, 35, 25, 2, 0 }, { -14, -43, 36, 25, 2, 0 }, { -14, -44, 37, 25, 2, 0 }, + { -14, -45, 37, 25, 2, 0 }, { -15, -46, 38, 25, 2, 0 }, { -15, -47, 38, 25, 2, 0 }, { -15, -48, 39, 25, 2, 0 }, { -15, -49, 39, 25, 2, 0 }, + { -15, -50, 40, 25, 2, 0 }, { -15, -51, 41, 25, 2, 0 }, { -15, -52, 41, 25, 2, 0 }, { -15, -53, 42, 24, 2, 0 }, { -16, -54, 42, 24, 2, 0 }, + { -16, -55, 43, 24, 2, 0 }, { -16, -56, 44, 24, 2, 0 }, { -16, -57, 44, 24, 2, 0 }, { -16, -58, 45, 24, 2, 0 }, { -16, -59, 45, 24, 2, 0 }, + { -16, -60, 46, 24, 2, 0 }, { -16, -61, 47, 24, 2, 0 }, { -16, -62, 47, 24, 2, 0 }, { -16, -63, 48, 24, 2, 0 }, { -16, -64, 48, 24, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalUp250, { + { 15, 16, 1, 4, 2, 0 }, { 14, 17, 2, 4, 2, 0 }, { 13, 18, 2, 4, 2, 0 }, { 12, 19, 3, 4, 2, 0 }, { 11, 20, 4, 4, 2, 0 }, + { 10, 21, 4, 5, 2, 0 }, { 9, 22, 5, 5, 2, 0 }, { 9, 23, 6, 5, 2, 0 }, { 8, 24, 6, 5, 2, 0 }, { 7, 25, 7, 5, 2, 0 }, + { 6, 26, 8, 5, 2, 0 }, { 6, 27, 8, 5, 2, 0 }, { 5, 28, 9, 5, 2, 0 }, { 4, 29, 9, 5, 2, 0 }, { 4, 30, 10, 5, 2, 0 }, + { 3, 31, 11, 5, 2, 0 }, { 2, 32, 11, 5, 2, 0 }, { 2, 33, 12, 5, 2, 0 }, { 1, 34, 13, 5, 2, 0 }, { 1, 35, 13, 5, 2, 0 }, + { 0, 36, 14, 5, 2, 0 }, { -1, 37, 14, 5, 2, 0 }, { -1, 38, 15, 5, 2, 0 }, { -2, 39, 16, 6, 2, 0 }, { -2, 40, 16, 6, 2, 0 }, + { -3, 41, 17, 6, 2, 0 }, { -3, 42, 17, 6, 2, 0 }, { -4, 43, 18, 6, 2, 0 }, { -4, 44, 19, 6, 2, 0 }, { -5, 45, 19, 6, 2, 0 }, + { -5, 46, 20, 6, 2, 0 }, { -6, 47, 20, 6, 2, 0 }, { -6, 48, 21, 6, 2, 0 }, { -6, 49, 22, 6, 2, 0 }, { -7, 50, 22, 6, 2, 0 }, + { -7, 51, 23, 6, 2, 0 }, { -8, 52, 23, 6, 2, 0 }, { -8, 53, 24, 6, 2, 0 }, { -8, 54, 24, 6, 2, 0 }, { -9, 55, 25, 6, 2, 0 }, + { -9, 56, 26, 6, 2, 0 }, { -10, 57, 26, 6, 2, 0 }, { -10, 58, 27, 6, 2, 0 }, { -10, 59, 27, 6, 2, 0 }, { -11, 60, 28, 6, 2, 0 }, + { -11, 61, 29, 6, 2, 0 }, { -11, 62, 29, 7, 2, 0 }, { -11, 63, 30, 7, 2, 0 }, { -12, 64, 30, 7, 2, 0 }, { -12, 65, 31, 7, 2, 0 }, + { -12, 66, 31, 7, 2, 0 }, { -13, 67, 32, 7, 2, 0 }, { -13, 68, 33, 7, 2, 0 }, { -13, 69, 33, 7, 2, 0 }, { -13, 70, 34, 7, 2, 0 }, + { -13, 71, 34, 7, 2, 0 }, { -14, 72, 35, 7, 2, 0 }, { -14, 73, 35, 7, 2, 0 }, { -14, 74, 36, 7, 2, 0 }, { -14, 75, 37, 7, 2, 0 }, + { -14, 76, 37, 7, 2, 0 }, { -15, 77, 38, 7, 2, 0 }, { -15, 78, 38, 7, 2, 0 }, { -15, 79, 39, 7, 2, 0 }, { -15, 80, 39, 7, 2, 0 }, + { -15, 81, 40, 7, 2, 0 }, { -15, 82, 41, 7, 2, 0 }, { -15, 83, 41, 7, 2, 0 }, { -15, 84, 42, 8, 2, 0 }, { -16, 85, 42, 8, 2, 0 }, + { -16, 86, 43, 8, 2, 0 }, { -16, 87, 44, 8, 2, 0 }, { -16, 88, 44, 8, 2, 0 }, { -16, 89, 45, 8, 2, 0 }, { -16, 90, 45, 8, 2, 0 }, + { -16, 91, 46, 8, 2, 0 }, { -16, 92, 47, 8, 2, 0 }, { -16, 93, 47, 8, 2, 0 }, { -16, 94, 48, 8, 2, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalUp251, { + { 16, 16, 0, 12, 2, 0 }, { 17, 17, 1, 12, 2, 0 }, { 18, 18, 2, 12, 2, 0 }, { 19, 19, 2, 12, 2, 0 }, { 20, 20, 3, 12, 2, 0 }, + { 21, 21, 4, 12, 2, 0 }, { 22, 22, 4, 13, 2, 0 }, { 23, 23, 5, 13, 2, 0 }, { 24, 23, 6, 13, 2, 0 }, { 25, 24, 6, 13, 2, 0 }, + { 26, 25, 7, 13, 2, 0 }, { 27, 26, 8, 13, 2, 0 }, { 28, 26, 8, 13, 2, 0 }, { 29, 27, 9, 13, 2, 0 }, { 30, 28, 9, 13, 2, 0 }, + { 31, 28, 10, 13, 2, 0 }, { 32, 29, 11, 13, 2, 0 }, { 33, 30, 11, 13, 2, 0 }, { 34, 30, 12, 13, 2, 0 }, { 35, 31, 13, 13, 2, 0 }, + { 36, 31, 13, 13, 2, 0 }, { 37, 32, 14, 13, 2, 0 }, { 38, 33, 14, 13, 2, 0 }, { 39, 33, 15, 13, 2, 0 }, { 40, 34, 16, 14, 2, 0 }, + { 41, 34, 16, 14, 2, 0 }, { 42, 35, 17, 14, 2, 0 }, { 43, 35, 17, 14, 2, 0 }, { 44, 36, 18, 14, 2, 0 }, { 45, 36, 19, 14, 2, 0 }, + { 46, 37, 19, 14, 2, 0 }, { 47, 37, 20, 14, 2, 0 }, { 48, 38, 20, 14, 2, 0 }, { 49, 38, 21, 14, 2, 0 }, { 50, 38, 22, 14, 2, 0 }, + { 51, 39, 22, 14, 2, 0 }, { 52, 39, 23, 14, 2, 0 }, { 53, 40, 23, 14, 2, 0 }, { 54, 40, 24, 14, 2, 0 }, { 55, 40, 24, 14, 2, 0 }, + { 56, 41, 25, 14, 2, 0 }, { 57, 41, 26, 14, 2, 0 }, { 58, 42, 26, 14, 2, 0 }, { 59, 42, 27, 14, 2, 0 }, { 60, 42, 27, 14, 2, 0 }, + { 61, 43, 28, 14, 2, 0 }, { 62, 43, 29, 14, 2, 0 }, { 63, 43, 29, 15, 2, 0 }, { 64, 43, 30, 15, 2, 0 }, { 65, 44, 30, 15, 2, 0 }, + { 66, 44, 31, 15, 2, 0 }, { 67, 44, 31, 15, 2, 0 }, { 68, 45, 32, 15, 2, 0 }, { 69, 45, 33, 15, 2, 0 }, { 70, 45, 33, 15, 2, 0 }, + { 71, 45, 34, 15, 2, 0 }, { 72, 45, 34, 15, 2, 0 }, { 73, 46, 35, 15, 2, 0 }, { 74, 46, 35, 15, 2, 0 }, { 75, 46, 36, 15, 2, 0 }, + { 76, 46, 37, 15, 2, 0 }, { 77, 46, 37, 15, 2, 0 }, { 78, 47, 38, 15, 2, 0 }, { 79, 47, 38, 15, 2, 0 }, { 80, 47, 39, 15, 2, 0 }, + { 81, 47, 39, 15, 2, 0 }, { 82, 47, 40, 15, 2, 0 }, { 83, 47, 41, 15, 2, 0 }, { 84, 47, 41, 15, 2, 0 }, { 85, 47, 42, 16, 2, 0 }, + { 86, 48, 42, 16, 2, 0 }, { 87, 48, 43, 16, 2, 0 }, { 88, 48, 44, 16, 2, 0 }, { 89, 48, 44, 16, 2, 0 }, { 90, 48, 45, 16, 2, 0 }, + { 91, 48, 45, 16, 2, 0 }, { 92, 48, 46, 16, 2, 0 }, { 93, 48, 47, 16, 2, 0 }, { 94, 48, 47, 16, 2, 0 }, { 95, 48, 48, 16, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalUp252, { + { 16, 15, 0, 20, 2, 0 }, { 17, 14, 1, 20, 2, 0 }, { 18, 13, 2, 20, 2, 0 }, { 19, 12, 2, 20, 2, 0 }, { 20, 11, 3, 20, 2, 0 }, + { 21, 10, 4, 20, 2, 0 }, { 22, 9, 4, 21, 2, 0 }, { 23, 8, 5, 21, 2, 0 }, { 23, 7, 6, 21, 2, 0 }, { 24, 6, 6, 21, 2, 0 }, + { 25, 5, 7, 21, 2, 0 }, { 26, 4, 8, 21, 2, 0 }, { 26, 3, 8, 21, 2, 0 }, { 27, 2, 9, 21, 2, 0 }, { 28, 1, 9, 21, 2, 0 }, + { 28, 0, 10, 21, 2, 0 }, { 29, -1, 11, 21, 2, 0 }, { 30, -2, 11, 21, 2, 0 }, { 30, -3, 12, 21, 2, 0 }, { 31, -4, 13, 21, 2, 0 }, + { 31, -5, 13, 21, 2, 0 }, { 32, -6, 14, 21, 2, 0 }, { 33, -7, 14, 21, 2, 0 }, { 33, -8, 15, 21, 2, 0 }, { 34, -9, 16, 22, 2, 0 }, + { 34, -10, 16, 22, 2, 0 }, { 35, -11, 17, 22, 2, 0 }, { 35, -12, 17, 22, 2, 0 }, { 36, -13, 18, 22, 2, 0 }, { 36, -14, 19, 22, 2, 0 }, + { 37, -15, 19, 22, 2, 0 }, { 37, -16, 20, 22, 2, 0 }, { 38, -17, 20, 22, 2, 0 }, { 38, -18, 21, 22, 2, 0 }, { 38, -19, 22, 22, 2, 0 }, + { 39, -20, 22, 22, 2, 0 }, { 39, -21, 23, 22, 2, 0 }, { 40, -22, 23, 22, 2, 0 }, { 40, -23, 24, 22, 2, 0 }, { 40, -24, 24, 22, 2, 0 }, + { 41, -25, 25, 22, 2, 0 }, { 41, -26, 26, 22, 2, 0 }, { 42, -27, 26, 22, 2, 0 }, { 42, -28, 27, 22, 2, 0 }, { 42, -29, 27, 22, 2, 0 }, + { 43, -30, 28, 22, 2, 0 }, { 43, -31, 29, 22, 2, 0 }, { 43, -32, 29, 23, 2, 0 }, { 43, -33, 30, 23, 2, 0 }, { 44, -34, 30, 23, 2, 0 }, + { 44, -35, 31, 23, 2, 0 }, { 44, -36, 31, 23, 2, 0 }, { 45, -37, 32, 23, 2, 0 }, { 45, -38, 33, 23, 2, 0 }, { 45, -39, 33, 23, 2, 0 }, + { 45, -40, 34, 23, 2, 0 }, { 45, -41, 34, 23, 2, 0 }, { 46, -42, 35, 23, 2, 0 }, { 46, -43, 35, 23, 2, 0 }, { 46, -44, 36, 23, 2, 0 }, + { 46, -45, 37, 23, 2, 0 }, { 46, -46, 37, 23, 2, 0 }, { 47, -47, 38, 23, 2, 0 }, { 47, -48, 38, 23, 2, 0 }, { 47, -49, 39, 23, 2, 0 }, + { 47, -50, 39, 23, 2, 0 }, { 47, -51, 40, 23, 2, 0 }, { 47, -52, 41, 23, 2, 0 }, { 47, -53, 41, 23, 2, 0 }, { 47, -54, 42, 24, 2, 0 }, + { 48, -55, 42, 24, 2, 0 }, { 48, -56, 43, 24, 2, 0 }, { 48, -57, 44, 24, 2, 0 }, { 48, -58, 44, 24, 2, 0 }, { 48, -59, 45, 24, 2, 0 }, + { 48, -60, 45, 24, 2, 0 }, { 48, -61, 46, 24, 2, 0 }, { 48, -62, 47, 24, 2, 0 }, { 48, -63, 47, 24, 2, 0 }, { 48, -64, 48, 24, 2, 0 }, + { 48, -65, 48, 24, 2, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalUp253, { + { 15, 15, 1, 28, 2, 0 }, { 14, 14, 2, 28, 2, 0 }, { 13, 13, 2, 28, 2, 0 }, { 12, 12, 3, 28, 2, 0 }, { 11, 11, 4, 28, 2, 0 }, + { 10, 10, 4, 29, 2, 0 }, { 9, 9, 5, 29, 2, 0 }, { 8, 9, 6, 29, 2, 0 }, { 7, 8, 6, 29, 2, 0 }, { 6, 7, 7, 29, 2, 0 }, + { 5, 6, 8, 29, 2, 0 }, { 4, 6, 8, 29, 2, 0 }, { 3, 5, 9, 29, 2, 0 }, { 2, 4, 9, 29, 2, 0 }, { 1, 4, 10, 29, 2, 0 }, + { 0, 3, 11, 29, 2, 0 }, { -1, 2, 11, 29, 2, 0 }, { -2, 2, 12, 29, 2, 0 }, { -3, 1, 13, 29, 2, 0 }, { -4, 1, 13, 29, 2, 0 }, + { -5, 0, 14, 29, 2, 0 }, { -6, -1, 14, 29, 2, 0 }, { -7, -1, 15, 29, 2, 0 }, { -8, -2, 16, 30, 2, 0 }, { -9, -2, 16, 30, 2, 0 }, + { -10, -3, 17, 30, 2, 0 }, { -11, -3, 17, 30, 2, 0 }, { -12, -4, 18, 30, 2, 0 }, { -13, -4, 19, 30, 2, 0 }, { -14, -5, 19, 30, 2, 0 }, + { -15, -5, 20, 30, 2, 0 }, { -16, -6, 20, 30, 2, 0 }, { -17, -6, 21, 30, 2, 0 }, { -18, -6, 22, 30, 2, 0 }, { -19, -7, 22, 30, 2, 0 }, + { -20, -7, 23, 30, 2, 0 }, { -21, -8, 23, 30, 2, 0 }, { -22, -8, 24, 30, 2, 0 }, { -23, -8, 24, 30, 2, 0 }, { -24, -9, 25, 30, 2, 0 }, + { -25, -9, 26, 30, 2, 0 }, { -26, -10, 26, 30, 2, 0 }, { -27, -10, 27, 30, 2, 0 }, { -28, -10, 27, 30, 2, 0 }, { -29, -11, 28, 30, 2, 0 }, + { -30, -11, 29, 30, 2, 0 }, { -31, -11, 29, 31, 2, 0 }, { -32, -11, 30, 31, 2, 0 }, { -33, -12, 30, 31, 2, 0 }, { -34, -12, 31, 31, 2, 0 }, + { -35, -12, 31, 31, 2, 0 }, { -36, -13, 32, 31, 2, 0 }, { -37, -13, 33, 31, 2, 0 }, { -38, -13, 33, 31, 2, 0 }, { -39, -13, 34, 31, 2, 0 }, + { -40, -13, 34, 31, 2, 0 }, { -41, -14, 35, 31, 2, 0 }, { -42, -14, 35, 31, 2, 0 }, { -43, -14, 36, 31, 2, 0 }, { -44, -14, 37, 31, 2, 0 }, + { -45, -14, 37, 31, 2, 0 }, { -46, -15, 38, 31, 2, 0 }, { -47, -15, 38, 31, 2, 0 }, { -48, -15, 39, 31, 2, 0 }, { -49, -15, 39, 31, 2, 0 }, + { -50, -15, 40, 31, 2, 0 }, { -51, -15, 41, 31, 2, 0 }, { -52, -15, 41, 31, 2, 0 }, { -53, -15, 42, 0, 2, 0 }, { -54, -16, 42, 0, 2, 0 }, + { -55, -16, 43, 0, 2, 0 }, { -56, -16, 44, 0, 2, 0 }, { -57, -16, 44, 0, 2, 0 }, { -58, -16, 45, 0, 2, 0 }, { -59, -16, 45, 0, 2, 0 }, + { -60, -16, 46, 0, 2, 0 }, { -61, -16, 47, 0, 2, 0 }, { -62, -16, 47, 0, 2, 0 }, { -63, -16, 48, 0, 2, 0 }, { -64, -16, 48, 0, 2, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalDown250, { + { 15, 16, 15, 4, 6, 0 }, { 14, 17, 14, 4, 6, 0 }, { 13, 18, 14, 4, 6, 0 }, { 12, 19, 13, 4, 6, 0 }, { 11, 20, 12, 4, 6, 0 }, + { 10, 21, 12, 3, 6, 0 }, { 9, 22, 11, 3, 6, 0 }, { 8, 22, 10, 3, 6, 0 }, { 7, 23, 10, 3, 6, 0 }, { 6, 24, 9, 3, 6, 0 }, + { 5, 25, 8, 3, 6, 0 }, { 4, 25, 8, 3, 6, 0 }, { 3, 26, 7, 3, 6, 0 }, { 2, 27, 7, 3, 6, 0 }, { 1, 27, 6, 3, 6, 0 }, + { 0, 28, 5, 3, 6, 0 }, { -1, 29, 5, 3, 6, 0 }, { -2, 29, 4, 3, 6, 0 }, { -3, 30, 3, 3, 6, 0 }, { -4, 30, 3, 3, 6, 0 }, + { -5, 31, 2, 3, 6, 0 }, { -6, 32, 2, 3, 6, 0 }, { -7, 32, 1, 3, 6, 0 }, { -8, 33, 0, 2, 6, 0 }, { -9, 33, 0, 2, 6, 0 }, + { -10, 34, -1, 2, 6, 0 }, { -11, 34, -1, 2, 6, 0 }, { -12, 35, -2, 2, 6, 0 }, { -13, 35, -3, 2, 6, 0 }, { -14, 36, -3, 2, 6, 0 }, + { -15, 36, -4, 2, 6, 0 }, { -16, 37, -4, 2, 6, 0 }, { -17, 37, -5, 2, 6, 0 }, { -18, 37, -6, 2, 6, 0 }, { -19, 38, -6, 2, 6, 0 }, + { -20, 38, -7, 2, 6, 0 }, { -21, 39, -7, 2, 6, 0 }, { -22, 39, -8, 2, 6, 0 }, { -23, 39, -8, 2, 6, 0 }, { -24, 40, -9, 2, 6, 0 }, + { -25, 40, -10, 2, 6, 0 }, { -26, 41, -10, 2, 6, 0 }, { -27, 41, -11, 2, 6, 0 }, { -28, 41, -11, 2, 6, 0 }, { -29, 42, -12, 2, 6, 0 }, + { -30, 42, -13, 2, 6, 0 }, { -31, 42, -13, 1, 6, 0 }, { -32, 42, -14, 1, 6, 0 }, { -33, 43, -14, 1, 6, 0 }, { -34, 43, -15, 1, 6, 0 }, + { -35, 43, -15, 1, 6, 0 }, { -36, 44, -16, 1, 6, 0 }, { -37, 44, -17, 1, 6, 0 }, { -38, 44, -17, 1, 6, 0 }, { -39, 44, -18, 1, 6, 0 }, + { -40, 44, -18, 1, 6, 0 }, { -41, 45, -19, 1, 6, 0 }, { -42, 45, -19, 1, 6, 0 }, { -43, 45, -20, 1, 6, 0 }, { -44, 45, -21, 1, 6, 0 }, + { -45, 45, -21, 1, 6, 0 }, { -46, 46, -22, 1, 6, 0 }, { -47, 46, -22, 1, 6, 0 }, { -48, 46, -23, 1, 6, 0 }, { -49, 46, -23, 1, 6, 0 }, + { -50, 46, -24, 1, 6, 0 }, { -51, 46, -25, 1, 6, 0 }, { -52, 46, -25, 1, 6, 0 }, { -53, 46, -26, 0, 6, 0 }, { -54, 47, -26, 0, 6, 0 }, + { -55, 47, -27, 0, 6, 0 }, { -56, 47, -28, 0, 6, 0 }, { -57, 47, -28, 0, 6, 0 }, { -58, 47, -29, 0, 6, 0 }, { -59, 47, -29, 0, 6, 0 }, + { -60, 47, -30, 0, 6, 0 }, { -61, 47, -31, 0, 6, 0 }, { -62, 47, -31, 0, 6, 0 }, { -63, 47, -32, 0, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalDown251, { + { 16, 16, 16, 12, 6, 0 }, { 17, 17, 15, 12, 6, 0 }, { 18, 18, 14, 12, 6, 0 }, { 19, 19, 14, 12, 6, 0 }, { 20, 20, 13, 12, 6, 0 }, + { 21, 21, 12, 12, 6, 0 }, { 22, 22, 12, 11, 6, 0 }, { 23, 23, 11, 11, 6, 0 }, { 23, 24, 10, 11, 6, 0 }, { 24, 25, 10, 11, 6, 0 }, + { 25, 26, 9, 11, 6, 0 }, { 26, 27, 8, 11, 6, 0 }, { 26, 28, 8, 11, 6, 0 }, { 27, 29, 7, 11, 6, 0 }, { 28, 30, 7, 11, 6, 0 }, + { 28, 31, 6, 11, 6, 0 }, { 29, 32, 5, 11, 6, 0 }, { 30, 33, 5, 11, 6, 0 }, { 30, 34, 4, 11, 6, 0 }, { 31, 35, 3, 11, 6, 0 }, + { 31, 36, 3, 11, 6, 0 }, { 32, 37, 2, 11, 6, 0 }, { 33, 38, 2, 11, 6, 0 }, { 33, 39, 1, 11, 6, 0 }, { 34, 40, 0, 10, 6, 0 }, + { 34, 41, 0, 10, 6, 0 }, { 35, 42, -1, 10, 6, 0 }, { 35, 43, -1, 10, 6, 0 }, { 36, 44, -2, 10, 6, 0 }, { 36, 45, -3, 10, 6, 0 }, + { 37, 46, -3, 10, 6, 0 }, { 37, 47, -4, 10, 6, 0 }, { 38, 48, -4, 10, 6, 0 }, { 38, 49, -5, 10, 6, 0 }, { 38, 50, -6, 10, 6, 0 }, + { 39, 51, -6, 10, 6, 0 }, { 39, 52, -7, 10, 6, 0 }, { 40, 53, -7, 10, 6, 0 }, { 40, 54, -8, 10, 6, 0 }, { 40, 55, -8, 10, 6, 0 }, + { 41, 56, -9, 10, 6, 0 }, { 41, 57, -10, 10, 6, 0 }, { 42, 58, -10, 10, 6, 0 }, { 42, 59, -11, 10, 6, 0 }, { 42, 60, -11, 10, 6, 0 }, + { 43, 61, -12, 10, 6, 0 }, { 43, 62, -13, 10, 6, 0 }, { 43, 63, -13, 9, 6, 0 }, { 43, 64, -14, 9, 6, 0 }, { 44, 65, -14, 9, 6, 0 }, + { 44, 66, -15, 9, 6, 0 }, { 44, 67, -15, 9, 6, 0 }, { 45, 68, -16, 9, 6, 0 }, { 45, 69, -17, 9, 6, 0 }, { 45, 70, -17, 9, 6, 0 }, + { 45, 71, -18, 9, 6, 0 }, { 45, 72, -18, 9, 6, 0 }, { 46, 73, -19, 9, 6, 0 }, { 46, 74, -19, 9, 6, 0 }, { 46, 75, -20, 9, 6, 0 }, + { 46, 76, -21, 9, 6, 0 }, { 46, 77, -21, 9, 6, 0 }, { 47, 78, -22, 9, 6, 0 }, { 47, 79, -22, 9, 6, 0 }, { 47, 80, -23, 9, 6, 0 }, + { 47, 81, -23, 9, 6, 0 }, { 47, 82, -24, 9, 6, 0 }, { 47, 83, -25, 9, 6, 0 }, { 47, 84, -25, 9, 6, 0 }, { 47, 85, -26, 8, 6, 0 }, + { 48, 86, -26, 8, 6, 0 }, { 48, 87, -27, 8, 6, 0 }, { 48, 88, -28, 8, 6, 0 }, { 48, 89, -28, 8, 6, 0 }, { 48, 90, -29, 8, 6, 0 }, + { 48, 91, -29, 8, 6, 0 }, { 48, 92, -30, 8, 6, 0 }, { 48, 93, -31, 8, 6, 0 }, { 48, 94, -31, 8, 6, 0 }, { 48, 95, -32, 8, 6, 0 }, + { 48, 96, -32, 8, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalDown252, { + { 16, 15, 16, 20, 6, 0 }, { 17, 14, 15, 20, 6, 0 }, { 18, 13, 14, 20, 6, 0 }, { 19, 12, 14, 20, 6, 0 }, { 20, 11, 13, 20, 6, 0 }, + { 21, 10, 12, 20, 6, 0 }, { 22, 9, 12, 19, 6, 0 }, { 23, 8, 11, 19, 6, 0 }, { 24, 8, 10, 19, 6, 0 }, { 25, 7, 10, 19, 6, 0 }, + { 26, 6, 9, 19, 6, 0 }, { 27, 5, 8, 19, 6, 0 }, { 28, 5, 8, 19, 6, 0 }, { 29, 4, 7, 19, 6, 0 }, { 30, 3, 7, 19, 6, 0 }, + { 31, 3, 6, 19, 6, 0 }, { 32, 2, 5, 19, 6, 0 }, { 33, 1, 5, 19, 6, 0 }, { 34, 1, 4, 19, 6, 0 }, { 35, 0, 3, 19, 6, 0 }, + { 36, 0, 3, 19, 6, 0 }, { 37, -1, 2, 19, 6, 0 }, { 38, -2, 2, 19, 6, 0 }, { 39, -2, 1, 19, 6, 0 }, { 40, -3, 0, 18, 6, 0 }, + { 41, -3, 0, 18, 6, 0 }, { 42, -4, -1, 18, 6, 0 }, { 43, -4, -1, 18, 6, 0 }, { 44, -5, -2, 18, 6, 0 }, { 45, -5, -3, 18, 6, 0 }, + { 46, -6, -3, 18, 6, 0 }, { 47, -6, -4, 18, 6, 0 }, { 48, -7, -4, 18, 6, 0 }, { 49, -7, -5, 18, 6, 0 }, { 50, -7, -6, 18, 6, 0 }, + { 51, -8, -6, 18, 6, 0 }, { 52, -8, -7, 18, 6, 0 }, { 53, -9, -7, 18, 6, 0 }, { 54, -9, -8, 18, 6, 0 }, { 55, -9, -8, 18, 6, 0 }, + { 56, -10, -9, 18, 6, 0 }, { 57, -10, -10, 18, 6, 0 }, { 58, -11, -10, 18, 6, 0 }, { 59, -11, -11, 18, 6, 0 }, { 60, -11, -11, 18, 6, 0 }, + { 61, -12, -12, 18, 6, 0 }, { 62, -12, -13, 18, 6, 0 }, { 63, -12, -13, 17, 6, 0 }, { 64, -12, -14, 17, 6, 0 }, { 65, -13, -14, 17, 6, 0 }, + { 66, -13, -15, 17, 6, 0 }, { 67, -13, -15, 17, 6, 0 }, { 68, -14, -16, 17, 6, 0 }, { 69, -14, -17, 17, 6, 0 }, { 70, -14, -17, 17, 6, 0 }, + { 71, -14, -18, 17, 6, 0 }, { 72, -14, -18, 17, 6, 0 }, { 73, -15, -19, 17, 6, 0 }, { 74, -15, -19, 17, 6, 0 }, { 75, -15, -20, 17, 6, 0 }, + { 76, -15, -21, 17, 6, 0 }, { 77, -15, -21, 17, 6, 0 }, { 78, -16, -22, 17, 6, 0 }, { 79, -16, -22, 17, 6, 0 }, { 80, -16, -23, 17, 6, 0 }, + { 81, -16, -23, 17, 6, 0 }, { 82, -16, -24, 17, 6, 0 }, { 83, -16, -25, 17, 6, 0 }, { 84, -16, -25, 17, 6, 0 }, { 85, -16, -26, 16, 6, 0 }, + { 86, -17, -26, 16, 6, 0 }, { 87, -17, -27, 16, 6, 0 }, { 88, -17, -28, 16, 6, 0 }, { 89, -17, -28, 16, 6, 0 }, { 90, -17, -29, 16, 6, 0 }, + { 91, -17, -29, 16, 6, 0 }, { 92, -17, -30, 16, 6, 0 }, { 93, -17, -31, 16, 6, 0 }, { 94, -17, -31, 16, 6, 0 }, { 95, -17, -32, 16, 6, 0 }, + { 96, -17, -32, 16, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthToOrthogonalDown253, { + { 15, 15, 15, 28, 6, 0 }, { 14, 14, 14, 28, 6, 0 }, { 13, 13, 14, 28, 6, 0 }, { 12, 12, 13, 28, 6, 0 }, { 11, 11, 12, 28, 6, 0 }, + { 10, 10, 12, 27, 6, 0 }, { 9, 9, 11, 27, 6, 0 }, { 9, 8, 10, 27, 6, 0 }, { 8, 7, 10, 27, 6, 0 }, { 7, 6, 9, 27, 6, 0 }, + { 6, 5, 8, 27, 6, 0 }, { 6, 4, 8, 27, 6, 0 }, { 5, 3, 7, 27, 6, 0 }, { 4, 2, 7, 27, 6, 0 }, { 4, 1, 6, 27, 6, 0 }, + { 3, 0, 5, 27, 6, 0 }, { 2, -1, 5, 27, 6, 0 }, { 2, -2, 4, 27, 6, 0 }, { 1, -3, 3, 27, 6, 0 }, { 1, -4, 3, 27, 6, 0 }, + { 0, -5, 2, 27, 6, 0 }, { -1, -6, 2, 27, 6, 0 }, { -1, -7, 1, 27, 6, 0 }, { -2, -8, 0, 26, 6, 0 }, { -2, -9, 0, 26, 6, 0 }, + { -3, -10, -1, 26, 6, 0 }, { -3, -11, -1, 26, 6, 0 }, { -4, -12, -2, 26, 6, 0 }, { -4, -13, -3, 26, 6, 0 }, { -5, -14, -3, 26, 6, 0 }, + { -5, -15, -4, 26, 6, 0 }, { -6, -16, -4, 26, 6, 0 }, { -6, -17, -5, 26, 6, 0 }, { -6, -18, -6, 26, 6, 0 }, { -7, -19, -6, 26, 6, 0 }, + { -7, -20, -7, 26, 6, 0 }, { -8, -21, -7, 26, 6, 0 }, { -8, -22, -8, 26, 6, 0 }, { -8, -23, -8, 26, 6, 0 }, { -9, -24, -9, 26, 6, 0 }, + { -9, -25, -10, 26, 6, 0 }, { -10, -26, -10, 26, 6, 0 }, { -10, -27, -11, 26, 6, 0 }, { -10, -28, -11, 26, 6, 0 }, { -11, -29, -12, 26, 6, 0 }, + { -11, -30, -13, 26, 6, 0 }, { -11, -31, -13, 25, 6, 0 }, { -11, -32, -14, 25, 6, 0 }, { -12, -33, -14, 25, 6, 0 }, { -12, -34, -15, 25, 6, 0 }, + { -12, -35, -15, 25, 6, 0 }, { -13, -36, -16, 25, 6, 0 }, { -13, -37, -17, 25, 6, 0 }, { -13, -38, -17, 25, 6, 0 }, { -13, -39, -18, 25, 6, 0 }, + { -13, -40, -18, 25, 6, 0 }, { -14, -41, -19, 25, 6, 0 }, { -14, -42, -19, 25, 6, 0 }, { -14, -43, -20, 25, 6, 0 }, { -14, -44, -21, 25, 6, 0 }, + { -14, -45, -21, 25, 6, 0 }, { -15, -46, -22, 25, 6, 0 }, { -15, -47, -22, 25, 6, 0 }, { -15, -48, -23, 25, 6, 0 }, { -15, -49, -23, 25, 6, 0 }, + { -15, -50, -24, 25, 6, 0 }, { -15, -51, -25, 25, 6, 0 }, { -15, -52, -25, 25, 6, 0 }, { -15, -53, -26, 24, 6, 0 }, { -16, -54, -26, 24, 6, 0 }, + { -16, -55, -27, 24, 6, 0 }, { -16, -56, -28, 24, 6, 0 }, { -16, -57, -28, 24, 6, 0 }, { -16, -58, -29, 24, 6, 0 }, { -16, -59, -29, 24, 6, 0 }, + { -16, -60, -30, 24, 6, 0 }, { -16, -61, -31, 24, 6, 0 }, { -16, -62, -31, 24, 6, 0 }, { -16, -63, -32, 24, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalDown250, { + { 15, 16, 15, 4, 6, 0 }, { 14, 17, 14, 4, 6, 0 }, { 13, 18, 14, 4, 6, 0 }, { 12, 19, 13, 4, 6, 0 }, { 11, 20, 12, 4, 6, 0 }, + { 10, 21, 12, 5, 6, 0 }, { 9, 22, 11, 5, 6, 0 }, { 9, 23, 10, 5, 6, 0 }, { 8, 24, 10, 5, 6, 0 }, { 7, 25, 9, 5, 6, 0 }, + { 6, 26, 8, 5, 6, 0 }, { 6, 27, 8, 5, 6, 0 }, { 5, 28, 7, 5, 6, 0 }, { 4, 29, 7, 5, 6, 0 }, { 4, 30, 6, 5, 6, 0 }, + { 3, 31, 5, 5, 6, 0 }, { 2, 32, 5, 5, 6, 0 }, { 2, 33, 4, 5, 6, 0 }, { 1, 34, 3, 5, 6, 0 }, { 1, 35, 3, 5, 6, 0 }, + { 0, 36, 2, 5, 6, 0 }, { -1, 37, 2, 5, 6, 0 }, { -1, 38, 1, 5, 6, 0 }, { -2, 39, 0, 6, 6, 0 }, { -2, 40, 0, 6, 6, 0 }, + { -3, 41, -1, 6, 6, 0 }, { -3, 42, -1, 6, 6, 0 }, { -4, 43, -2, 6, 6, 0 }, { -4, 44, -3, 6, 6, 0 }, { -5, 45, -3, 6, 6, 0 }, + { -5, 46, -4, 6, 6, 0 }, { -6, 47, -4, 6, 6, 0 }, { -6, 48, -5, 6, 6, 0 }, { -6, 49, -6, 6, 6, 0 }, { -7, 50, -6, 6, 6, 0 }, + { -7, 51, -7, 6, 6, 0 }, { -8, 52, -7, 6, 6, 0 }, { -8, 53, -8, 6, 6, 0 }, { -8, 54, -8, 6, 6, 0 }, { -9, 55, -9, 6, 6, 0 }, + { -9, 56, -10, 6, 6, 0 }, { -10, 57, -10, 6, 6, 0 }, { -10, 58, -11, 6, 6, 0 }, { -10, 59, -11, 6, 6, 0 }, { -11, 60, -12, 6, 6, 0 }, + { -11, 61, -13, 6, 6, 0 }, { -11, 62, -13, 7, 6, 0 }, { -11, 63, -14, 7, 6, 0 }, { -12, 64, -14, 7, 6, 0 }, { -12, 65, -15, 7, 6, 0 }, + { -12, 66, -15, 7, 6, 0 }, { -13, 67, -16, 7, 6, 0 }, { -13, 68, -17, 7, 6, 0 }, { -13, 69, -17, 7, 6, 0 }, { -13, 70, -18, 7, 6, 0 }, + { -13, 71, -18, 7, 6, 0 }, { -14, 72, -19, 7, 6, 0 }, { -14, 73, -19, 7, 6, 0 }, { -14, 74, -20, 7, 6, 0 }, { -14, 75, -21, 7, 6, 0 }, + { -14, 76, -21, 7, 6, 0 }, { -15, 77, -22, 7, 6, 0 }, { -15, 78, -22, 7, 6, 0 }, { -15, 79, -23, 7, 6, 0 }, { -15, 80, -23, 7, 6, 0 }, + { -15, 81, -24, 7, 6, 0 }, { -15, 82, -25, 7, 6, 0 }, { -15, 83, -25, 7, 6, 0 }, { -15, 84, -26, 8, 6, 0 }, { -16, 85, -26, 8, 6, 0 }, + { -16, 86, -27, 8, 6, 0 }, { -16, 87, -28, 8, 6, 0 }, { -16, 88, -28, 8, 6, 0 }, { -16, 89, -29, 8, 6, 0 }, { -16, 90, -29, 8, 6, 0 }, + { -16, 91, -30, 8, 6, 0 }, { -16, 92, -31, 8, 6, 0 }, { -16, 93, -31, 8, 6, 0 }, { -16, 94, -32, 8, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalDown251, { + { 16, 16, 16, 12, 6, 0 }, { 17, 17, 15, 12, 6, 0 }, { 18, 18, 14, 12, 6, 0 }, { 19, 19, 14, 12, 6, 0 }, { 20, 20, 13, 12, 6, 0 }, + { 21, 21, 12, 12, 6, 0 }, { 22, 22, 12, 13, 6, 0 }, { 23, 23, 11, 13, 6, 0 }, { 24, 23, 10, 13, 6, 0 }, { 25, 24, 10, 13, 6, 0 }, + { 26, 25, 9, 13, 6, 0 }, { 27, 26, 8, 13, 6, 0 }, { 28, 26, 8, 13, 6, 0 }, { 29, 27, 7, 13, 6, 0 }, { 30, 28, 7, 13, 6, 0 }, + { 31, 28, 6, 13, 6, 0 }, { 32, 29, 5, 13, 6, 0 }, { 33, 30, 5, 13, 6, 0 }, { 34, 30, 4, 13, 6, 0 }, { 35, 31, 3, 13, 6, 0 }, + { 36, 31, 3, 13, 6, 0 }, { 37, 32, 2, 13, 6, 0 }, { 38, 33, 2, 13, 6, 0 }, { 39, 33, 1, 13, 6, 0 }, { 40, 34, 0, 14, 6, 0 }, + { 41, 34, 0, 14, 6, 0 }, { 42, 35, -1, 14, 6, 0 }, { 43, 35, -1, 14, 6, 0 }, { 44, 36, -2, 14, 6, 0 }, { 45, 36, -3, 14, 6, 0 }, + { 46, 37, -3, 14, 6, 0 }, { 47, 37, -4, 14, 6, 0 }, { 48, 38, -4, 14, 6, 0 }, { 49, 38, -5, 14, 6, 0 }, { 50, 38, -6, 14, 6, 0 }, + { 51, 39, -6, 14, 6, 0 }, { 52, 39, -7, 14, 6, 0 }, { 53, 40, -7, 14, 6, 0 }, { 54, 40, -8, 14, 6, 0 }, { 55, 40, -8, 14, 6, 0 }, + { 56, 41, -9, 14, 6, 0 }, { 57, 41, -10, 14, 6, 0 }, { 58, 42, -10, 14, 6, 0 }, { 59, 42, -11, 14, 6, 0 }, { 60, 42, -11, 14, 6, 0 }, + { 61, 43, -12, 14, 6, 0 }, { 62, 43, -13, 14, 6, 0 }, { 63, 43, -13, 15, 6, 0 }, { 64, 43, -14, 15, 6, 0 }, { 65, 44, -14, 15, 6, 0 }, + { 66, 44, -15, 15, 6, 0 }, { 67, 44, -15, 15, 6, 0 }, { 68, 45, -16, 15, 6, 0 }, { 69, 45, -17, 15, 6, 0 }, { 70, 45, -17, 15, 6, 0 }, + { 71, 45, -18, 15, 6, 0 }, { 72, 45, -18, 15, 6, 0 }, { 73, 46, -19, 15, 6, 0 }, { 74, 46, -19, 15, 6, 0 }, { 75, 46, -20, 15, 6, 0 }, + { 76, 46, -21, 15, 6, 0 }, { 77, 46, -21, 15, 6, 0 }, { 78, 47, -22, 15, 6, 0 }, { 79, 47, -22, 15, 6, 0 }, { 80, 47, -23, 15, 6, 0 }, + { 81, 47, -23, 15, 6, 0 }, { 82, 47, -24, 15, 6, 0 }, { 83, 47, -25, 15, 6, 0 }, { 84, 47, -25, 15, 6, 0 }, { 85, 47, -26, 16, 6, 0 }, + { 86, 48, -26, 16, 6, 0 }, { 87, 48, -27, 16, 6, 0 }, { 88, 48, -28, 16, 6, 0 }, { 89, 48, -28, 16, 6, 0 }, { 90, 48, -29, 16, 6, 0 }, + { 91, 48, -29, 16, 6, 0 }, { 92, 48, -30, 16, 6, 0 }, { 93, 48, -31, 16, 6, 0 }, { 94, 48, -31, 16, 6, 0 }, { 95, 48, -32, 16, 6, 0 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalDown252, { + { 16, 15, 16, 20, 6, 0 }, { 17, 14, 15, 20, 6, 0 }, { 18, 13, 14, 20, 6, 0 }, { 19, 12, 14, 20, 6, 0 }, { 20, 11, 13, 20, 6, 0 }, + { 21, 10, 12, 20, 6, 0 }, { 22, 9, 12, 21, 6, 0 }, { 23, 8, 11, 21, 6, 0 }, { 23, 7, 10, 21, 6, 0 }, { 24, 6, 10, 21, 6, 0 }, + { 25, 5, 9, 21, 6, 0 }, { 26, 4, 8, 21, 6, 0 }, { 26, 3, 8, 21, 6, 0 }, { 27, 2, 7, 21, 6, 0 }, { 28, 1, 7, 21, 6, 0 }, + { 28, 0, 6, 21, 6, 0 }, { 29, -1, 5, 21, 6, 0 }, { 30, -2, 5, 21, 6, 0 }, { 30, -3, 4, 21, 6, 0 }, { 31, -4, 3, 21, 6, 0 }, + { 31, -5, 3, 21, 6, 0 }, { 32, -6, 2, 21, 6, 0 }, { 33, -7, 2, 21, 6, 0 }, { 33, -8, 1, 21, 6, 0 }, { 34, -9, 0, 22, 6, 0 }, + { 34, -10, 0, 22, 6, 0 }, { 35, -11, -1, 22, 6, 0 }, { 35, -12, -1, 22, 6, 0 }, { 36, -13, -2, 22, 6, 0 }, { 36, -14, -3, 22, 6, 0 }, + { 37, -15, -3, 22, 6, 0 }, { 37, -16, -4, 22, 6, 0 }, { 38, -17, -4, 22, 6, 0 }, { 38, -18, -5, 22, 6, 0 }, { 38, -19, -6, 22, 6, 0 }, + { 39, -20, -6, 22, 6, 0 }, { 39, -21, -7, 22, 6, 0 }, { 40, -22, -7, 22, 6, 0 }, { 40, -23, -8, 22, 6, 0 }, { 40, -24, -8, 22, 6, 0 }, + { 41, -25, -9, 22, 6, 0 }, { 41, -26, -10, 22, 6, 0 }, { 42, -27, -10, 22, 6, 0 }, { 42, -28, -11, 22, 6, 0 }, { 42, -29, -11, 22, 6, 0 }, + { 43, -30, -12, 22, 6, 0 }, { 43, -31, -13, 22, 6, 0 }, { 43, -32, -13, 23, 6, 0 }, { 43, -33, -14, 23, 6, 0 }, { 44, -34, -14, 23, 6, 0 }, + { 44, -35, -15, 23, 6, 0 }, { 44, -36, -15, 23, 6, 0 }, { 45, -37, -16, 23, 6, 0 }, { 45, -38, -17, 23, 6, 0 }, { 45, -39, -17, 23, 6, 0 }, + { 45, -40, -18, 23, 6, 0 }, { 45, -41, -18, 23, 6, 0 }, { 46, -42, -19, 23, 6, 0 }, { 46, -43, -19, 23, 6, 0 }, { 46, -44, -20, 23, 6, 0 }, + { 46, -45, -21, 23, 6, 0 }, { 46, -46, -21, 23, 6, 0 }, { 47, -47, -22, 23, 6, 0 }, { 47, -48, -22, 23, 6, 0 }, { 47, -49, -23, 23, 6, 0 }, + { 47, -50, -23, 23, 6, 0 }, { 47, -51, -24, 23, 6, 0 }, { 47, -52, -25, 23, 6, 0 }, { 47, -53, -25, 23, 6, 0 }, { 47, -54, -26, 24, 6, 0 }, + { 48, -55, -26, 24, 6, 0 }, { 48, -56, -27, 24, 6, 0 }, { 48, -57, -28, 24, 6, 0 }, { 48, -58, -28, 24, 6, 0 }, { 48, -59, -29, 24, 6, 0 }, + { 48, -60, -29, 24, 6, 0 }, { 48, -61, -30, 24, 6, 0 }, { 48, -62, -31, 24, 6, 0 }, { 48, -63, -31, 24, 6, 0 }, { 48, -64, -32, 24, 6, 0 }, + { 48, -65, -32, 24, 6, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthToOrthogonalDown253, { + { 15, 15, 15, 28, 6, 0 }, { 14, 14, 14, 28, 6, 0 }, { 13, 13, 14, 28, 6, 0 }, { 12, 12, 13, 28, 6, 0 }, { 11, 11, 12, 28, 6, 0 }, + { 10, 10, 12, 29, 6, 0 }, { 9, 9, 11, 29, 6, 0 }, { 8, 9, 10, 29, 6, 0 }, { 7, 8, 10, 29, 6, 0 }, { 6, 7, 9, 29, 6, 0 }, + { 5, 6, 8, 29, 6, 0 }, { 4, 6, 8, 29, 6, 0 }, { 3, 5, 7, 29, 6, 0 }, { 2, 4, 7, 29, 6, 0 }, { 1, 4, 6, 29, 6, 0 }, + { 0, 3, 5, 29, 6, 0 }, { -1, 2, 5, 29, 6, 0 }, { -2, 2, 4, 29, 6, 0 }, { -3, 1, 3, 29, 6, 0 }, { -4, 1, 3, 29, 6, 0 }, + { -5, 0, 2, 29, 6, 0 }, { -6, -1, 2, 29, 6, 0 }, { -7, -1, 1, 29, 6, 0 }, { -8, -2, 0, 30, 6, 0 }, { -9, -2, 0, 30, 6, 0 }, + { -10, -3, -1, 30, 6, 0 }, { -11, -3, -1, 30, 6, 0 }, { -12, -4, -2, 30, 6, 0 }, { -13, -4, -3, 30, 6, 0 }, { -14, -5, -3, 30, 6, 0 }, + { -15, -5, -4, 30, 6, 0 }, { -16, -6, -4, 30, 6, 0 }, { -17, -6, -5, 30, 6, 0 }, { -18, -6, -6, 30, 6, 0 }, { -19, -7, -6, 30, 6, 0 }, + { -20, -7, -7, 30, 6, 0 }, { -21, -8, -7, 30, 6, 0 }, { -22, -8, -8, 30, 6, 0 }, { -23, -8, -8, 30, 6, 0 }, { -24, -9, -9, 30, 6, 0 }, + { -25, -9, -10, 30, 6, 0 }, { -26, -10, -10, 30, 6, 0 }, { -27, -10, -11, 30, 6, 0 }, { -28, -10, -11, 30, 6, 0 }, { -29, -11, -12, 30, 6, 0 }, + { -30, -11, -13, 30, 6, 0 }, { -31, -11, -13, 31, 6, 0 }, { -32, -11, -14, 31, 6, 0 }, { -33, -12, -14, 31, 6, 0 }, { -34, -12, -15, 31, 6, 0 }, + { -35, -12, -15, 31, 6, 0 }, { -36, -13, -16, 31, 6, 0 }, { -37, -13, -17, 31, 6, 0 }, { -38, -13, -17, 31, 6, 0 }, { -39, -13, -18, 31, 6, 0 }, + { -40, -13, -18, 31, 6, 0 }, { -41, -14, -19, 31, 6, 0 }, { -42, -14, -19, 31, 6, 0 }, { -43, -14, -20, 31, 6, 0 }, { -44, -14, -21, 31, 6, 0 }, + { -45, -14, -21, 31, 6, 0 }, { -46, -15, -22, 31, 6, 0 }, { -47, -15, -22, 31, 6, 0 }, { -48, -15, -23, 31, 6, 0 }, { -49, -15, -23, 31, 6, 0 }, + { -50, -15, -24, 31, 6, 0 }, { -51, -15, -25, 31, 6, 0 }, { -52, -15, -25, 31, 6, 0 }, { -53, -15, -26, 0, 6, 0 }, { -54, -16, -26, 0, 6, 0 }, + { -55, -16, -27, 0, 6, 0 }, { -56, -16, -28, 0, 6, 0 }, { -57, -16, -28, 0, 6, 0 }, { -58, -16, -29, 0, 6, 0 }, { -59, -16, -29, 0, 6, 0 }, + { -60, -16, -30, 0, 6, 0 }, { -61, -16, -31, 0, 6, 0 }, { -62, -16, -31, 0, 6, 0 }, { -63, -16, -32, 0, 6, 0 }, { -64, -16, -32, 0, 6, 0 }, +}) + + + + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToLeftBankedUp250, { + { 15, 16, 1, 4, 51, 0 }, { 14, 17, 1, 4, 51, 0 }, { 13, 18, 2, 4, 51, 0 }, { 12, 19, 2, 4, 51, 0 }, { 11, 20, 3, 4, 51, 0 }, + { 10, 21, 3, 4, 51, 0 }, { 9, 22, 4, 4, 51, 0 }, { 8, 23, 4, 4, 51, 1 }, { 7, 24, 5, 4, 51, 1 }, { 6, 25, 5, 4, 51, 1 }, + { 5, 26, 6, 4, 51, 1 }, { 4, 27, 6, 4, 51, 1 }, { 3, 28, 7, 4, 51, 1 }, { 2, 29, 7, 4, 51, 1 }, { 1, 30, 8, 4, 51, 1 }, + { 0, 31, 8, 4, 51, 1 }, { -1, 32, 9, 4, 51, 1 }, { -2, 33, 9, 4, 51, 1 }, { -3, 34, 10, 4, 51, 1 }, { -4, 35, 10, 4, 51, 1 }, + { -5, 36, 11, 4, 51, 1 }, { -6, 37, 11, 4, 51, 1 }, { -7, 38, 12, 4, 51, 1 }, { -8, 39, 12, 4, 51, 2 }, { -9, 40, 13, 4, 51, 2 }, + { -10, 41, 13, 4, 51, 2 }, { -11, 42, 14, 4, 51, 2 }, { -12, 43, 14, 4, 51, 2 }, { -13, 44, 15, 4, 51, 2 }, { -14, 45, 15, 4, 51, 2 }, + { -15, 46, 16, 4, 51, 2 }, { -16, 47, 16, 4, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToLeftBankedUp251, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 1, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 2, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, + { 21, 21, 3, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 4, 12, 51, 0 }, { 24, 24, 4, 12, 51, 1 }, { 25, 25, 5, 12, 51, 1 }, + { 26, 26, 5, 12, 51, 1 }, { 27, 27, 6, 12, 51, 1 }, { 28, 28, 6, 12, 51, 1 }, { 29, 29, 7, 12, 51, 1 }, { 30, 30, 7, 12, 51, 1 }, + { 31, 31, 8, 12, 51, 1 }, { 32, 32, 8, 12, 51, 1 }, { 33, 33, 9, 12, 51, 1 }, { 34, 34, 9, 12, 51, 1 }, { 35, 35, 10, 12, 51, 1 }, + { 36, 36, 10, 12, 51, 1 }, { 37, 37, 11, 12, 51, 1 }, { 38, 38, 11, 12, 51, 1 }, { 39, 39, 12, 12, 51, 1 }, { 40, 40, 12, 12, 51, 2 }, + { 41, 41, 13, 12, 51, 2 }, { 42, 42, 13, 12, 51, 2 }, { 43, 43, 14, 12, 51, 2 }, { 44, 44, 14, 12, 51, 2 }, { 45, 45, 15, 12, 51, 2 }, + { 46, 46, 15, 12, 51, 2 }, { 47, 47, 16, 12, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToLeftBankedUp252, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 1, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 2, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, + { 21, 10, 3, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 4, 20, 51, 0 }, { 24, 7, 4, 20, 51, 1 }, { 25, 6, 5, 20, 51, 1 }, + { 26, 5, 5, 20, 51, 1 }, { 27, 4, 6, 20, 51, 1 }, { 28, 3, 6, 20, 51, 1 }, { 29, 2, 7, 20, 51, 1 }, { 30, 1, 7, 20, 51, 1 }, + { 31, 0, 8, 20, 51, 1 }, { 32, -1, 8, 20, 51, 1 }, { 33, -2, 9, 20, 51, 1 }, { 34, -3, 9, 20, 51, 1 }, { 35, -4, 10, 20, 51, 1 }, + { 36, -5, 10, 20, 51, 1 }, { 37, -6, 11, 20, 51, 1 }, { 38, -7, 11, 20, 51, 1 }, { 39, -8, 12, 20, 51, 1 }, { 40, -9, 12, 20, 51, 2 }, + { 41, -10, 13, 20, 51, 2 }, { 42, -11, 13, 20, 51, 2 }, { 43, -12, 14, 20, 51, 2 }, { 44, -13, 14, 20, 51, 2 }, { 45, -14, 15, 20, 51, 2 }, + { 46, -15, 15, 20, 51, 2 }, { 47, -16, 16, 20, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToLeftBankedUp253, { + { 15, 15, 1, 28, 51, 0 }, { 14, 14, 1, 28, 51, 0 }, { 13, 13, 2, 28, 51, 0 }, { 12, 12, 2, 28, 51, 0 }, { 11, 11, 3, 28, 51, 0 }, + { 10, 10, 3, 28, 51, 0 }, { 9, 9, 4, 28, 51, 0 }, { 8, 8, 4, 28, 51, 1 }, { 7, 7, 5, 28, 51, 1 }, { 6, 6, 5, 28, 51, 1 }, + { 5, 5, 6, 28, 51, 1 }, { 4, 4, 6, 28, 51, 1 }, { 3, 3, 7, 28, 51, 1 }, { 2, 2, 7, 28, 51, 1 }, { 1, 1, 8, 28, 51, 1 }, + { 0, 0, 8, 28, 51, 1 }, { -1, -1, 9, 28, 51, 1 }, { -2, -2, 9, 28, 51, 1 }, { -3, -3, 10, 28, 51, 1 }, { -4, -4, 10, 28, 51, 1 }, + { -5, -5, 11, 28, 51, 1 }, { -6, -6, 11, 28, 51, 1 }, { -7, -7, 12, 28, 51, 1 }, { -8, -8, 12, 28, 51, 2 }, { -9, -9, 13, 28, 51, 2 }, + { -10, -10, 13, 28, 51, 2 }, { -11, -11, 14, 28, 51, 2 }, { -12, -12, 14, 28, 51, 2 }, { -13, -13, 15, 28, 51, 2 }, { -14, -14, 15, 28, 51, 2 }, + { -15, -15, 16, 28, 51, 2 }, { -16, -16, 16, 28, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToRightBankedUp250, { + { 15, 16, 1, 4, 51, 0 }, { 14, 17, 1, 4, 51, 0 }, { 13, 18, 2, 4, 51, 0 }, { 12, 19, 2, 4, 51, 0 }, { 11, 20, 3, 4, 51, 0 }, + { 10, 21, 3, 4, 51, 0 }, { 9, 22, 4, 4, 51, 0 }, { 8, 23, 4, 4, 51, 3 }, { 7, 24, 5, 4, 51, 3 }, { 6, 25, 5, 4, 51, 3 }, + { 5, 26, 6, 4, 51, 3 }, { 4, 27, 6, 4, 51, 3 }, { 3, 28, 7, 4, 51, 3 }, { 2, 29, 7, 4, 51, 3 }, { 1, 30, 8, 4, 51, 3 }, + { 0, 31, 8, 4, 51, 3 }, { -1, 32, 9, 4, 51, 3 }, { -2, 33, 9, 4, 51, 3 }, { -3, 34, 10, 4, 51, 3 }, { -4, 35, 10, 4, 51, 3 }, + { -5, 36, 11, 4, 51, 3 }, { -6, 37, 11, 4, 51, 3 }, { -7, 38, 12, 4, 51, 3 }, { -8, 39, 12, 4, 51, 4 }, { -9, 40, 13, 4, 51, 4 }, + { -10, 41, 13, 4, 51, 4 }, { -11, 42, 14, 4, 51, 4 }, { -12, 43, 14, 4, 51, 4 }, { -13, 44, 15, 4, 51, 4 }, { -14, 45, 15, 4, 51, 4 }, + { -15, 46, 16, 4, 51, 4 }, { -16, 47, 16, 4, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToRightBankedUp251, { + { 16, 16, 0, 12, 51, 0 }, { 17, 17, 1, 12, 51, 0 }, { 18, 18, 1, 12, 51, 0 }, { 19, 19, 2, 12, 51, 0 }, { 20, 20, 2, 12, 51, 0 }, + { 21, 21, 3, 12, 51, 0 }, { 22, 22, 3, 12, 51, 0 }, { 23, 23, 4, 12, 51, 0 }, { 24, 24, 4, 12, 51, 3 }, { 25, 25, 5, 12, 51, 3 }, + { 26, 26, 5, 12, 51, 3 }, { 27, 27, 6, 12, 51, 3 }, { 28, 28, 6, 12, 51, 3 }, { 29, 29, 7, 12, 51, 3 }, { 30, 30, 7, 12, 51, 3 }, + { 31, 31, 8, 12, 51, 3 }, { 32, 32, 8, 12, 51, 3 }, { 33, 33, 9, 12, 51, 3 }, { 34, 34, 9, 12, 51, 3 }, { 35, 35, 10, 12, 51, 3 }, + { 36, 36, 10, 12, 51, 3 }, { 37, 37, 11, 12, 51, 3 }, { 38, 38, 11, 12, 51, 3 }, { 39, 39, 12, 12, 51, 3 }, { 40, 40, 12, 12, 51, 4 }, + { 41, 41, 13, 12, 51, 4 }, { 42, 42, 13, 12, 51, 4 }, { 43, 43, 14, 12, 51, 4 }, { 44, 44, 14, 12, 51, 4 }, { 45, 45, 15, 12, 51, 4 }, + { 46, 46, 15, 12, 51, 4 }, { 47, 47, 16, 12, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToRightBankedUp252, { + { 16, 15, 0, 20, 51, 0 }, { 17, 14, 1, 20, 51, 0 }, { 18, 13, 1, 20, 51, 0 }, { 19, 12, 2, 20, 51, 0 }, { 20, 11, 2, 20, 51, 0 }, + { 21, 10, 3, 20, 51, 0 }, { 22, 9, 3, 20, 51, 0 }, { 23, 8, 4, 20, 51, 0 }, { 24, 7, 4, 20, 51, 3 }, { 25, 6, 5, 20, 51, 3 }, + { 26, 5, 5, 20, 51, 3 }, { 27, 4, 6, 20, 51, 3 }, { 28, 3, 6, 20, 51, 3 }, { 29, 2, 7, 20, 51, 3 }, { 30, 1, 7, 20, 51, 3 }, + { 31, 0, 8, 20, 51, 3 }, { 32, -1, 8, 20, 51, 3 }, { 33, -2, 9, 20, 51, 3 }, { 34, -3, 9, 20, 51, 3 }, { 35, -4, 10, 20, 51, 3 }, + { 36, -5, 10, 20, 51, 3 }, { 37, -6, 11, 20, 51, 3 }, { 38, -7, 11, 20, 51, 3 }, { 39, -8, 12, 20, 51, 3 }, { 40, -9, 12, 20, 51, 4 }, + { 41, -10, 13, 20, 51, 4 }, { 42, -11, 13, 20, 51, 4 }, { 43, -12, 14, 20, 51, 4 }, { 44, -13, 14, 20, 51, 4 }, { 45, -14, 15, 20, 51, 4 }, + { 46, -15, 15, 20, 51, 4 }, { 47, -16, 16, 20, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25ToRightBankedUp253, { + { 15, 15, 1, 28, 51, 0 }, { 14, 14, 1, 28, 51, 0 }, { 13, 13, 2, 28, 51, 0 }, { 12, 12, 2, 28, 51, 0 }, { 11, 11, 3, 28, 51, 0 }, + { 10, 10, 3, 28, 51, 0 }, { 9, 9, 4, 28, 51, 0 }, { 8, 8, 4, 28, 51, 3 }, { 7, 7, 5, 28, 51, 3 }, { 6, 6, 5, 28, 51, 3 }, + { 5, 5, 6, 28, 51, 3 }, { 4, 4, 6, 28, 51, 3 }, { 3, 3, 7, 28, 51, 3 }, { 2, 2, 7, 28, 51, 3 }, { 1, 1, 8, 28, 51, 3 }, + { 0, 0, 8, 28, 51, 3 }, { -1, -1, 9, 28, 51, 3 }, { -2, -2, 9, 28, 51, 3 }, { -3, -3, 10, 28, 51, 3 }, { -4, -4, 10, 28, 51, 3 }, + { -5, -5, 11, 28, 51, 3 }, { -6, -6, 11, 28, 51, 3 }, { -7, -7, 12, 28, 51, 3 }, { -8, -8, 12, 28, 51, 4 }, { -9, -9, 13, 28, 51, 4 }, + { -10, -10, 13, 28, 51, 4 }, { -11, -11, 14, 28, 51, 4 }, { -12, -12, 14, 28, 51, 4 }, { -13, -13, 15, 28, 51, 4 }, { -14, -14, 15, 28, 51, 4 }, + { -15, -15, 16, 28, 51, 4 }, { -16, -16, 16, 28, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToUp250, { + { 15, 16, 1, 4, 51, 2 }, { 14, 17, 1, 4, 51, 2 }, { 13, 18, 2, 4, 51, 2 }, { 12, 19, 2, 4, 51, 2 }, { 11, 20, 3, 4, 51, 2 }, + { 10, 21, 3, 4, 51, 2 }, { 9, 22, 4, 4, 51, 2 }, { 8, 23, 4, 4, 51, 1 }, { 7, 24, 5, 4, 51, 1 }, { 6, 25, 5, 4, 51, 1 }, + { 5, 26, 6, 4, 51, 1 }, { 4, 27, 6, 4, 51, 1 }, { 3, 28, 7, 4, 51, 1 }, { 2, 29, 7, 4, 51, 1 }, { 1, 30, 8, 4, 51, 1 }, + { 0, 31, 8, 4, 51, 1 }, { -1, 32, 9, 4, 51, 1 }, { -2, 33, 9, 4, 51, 1 }, { -3, 34, 10, 4, 51, 1 }, { -4, 35, 10, 4, 51, 1 }, + { -5, 36, 11, 4, 51, 1 }, { -6, 37, 11, 4, 51, 1 }, { -7, 38, 12, 4, 51, 1 }, { -8, 39, 12, 4, 51, 0 }, { -9, 40, 13, 4, 51, 0 }, + { -10, 41, 13, 4, 51, 0 }, { -11, 42, 14, 4, 51, 0 }, { -12, 43, 14, 4, 51, 0 }, { -13, 44, 15, 4, 51, 0 }, { -14, 45, 15, 4, 51, 0 }, + { -15, 46, 16, 4, 51, 0 }, { -16, 47, 16, 4, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToUp251, { + { 16, 16, 0, 12, 51, 2 }, { 17, 17, 1, 12, 51, 2 }, { 18, 18, 1, 12, 51, 2 }, { 19, 19, 2, 12, 51, 2 }, { 20, 20, 2, 12, 51, 2 }, + { 21, 21, 3, 12, 51, 2 }, { 22, 22, 3, 12, 51, 2 }, { 23, 23, 4, 12, 51, 2 }, { 24, 24, 4, 12, 51, 1 }, { 25, 25, 5, 12, 51, 1 }, + { 26, 26, 5, 12, 51, 1 }, { 27, 27, 6, 12, 51, 1 }, { 28, 28, 6, 12, 51, 1 }, { 29, 29, 7, 12, 51, 1 }, { 30, 30, 7, 12, 51, 1 }, + { 31, 31, 8, 12, 51, 1 }, { 32, 32, 8, 12, 51, 1 }, { 33, 33, 9, 12, 51, 1 }, { 34, 34, 9, 12, 51, 1 }, { 35, 35, 10, 12, 51, 1 }, + { 36, 36, 10, 12, 51, 1 }, { 37, 37, 11, 12, 51, 1 }, { 38, 38, 11, 12, 51, 1 }, { 39, 39, 12, 12, 51, 1 }, { 40, 40, 12, 12, 51, 0 }, + { 41, 41, 13, 12, 51, 0 }, { 42, 42, 13, 12, 51, 0 }, { 43, 43, 14, 12, 51, 0 }, { 44, 44, 14, 12, 51, 0 }, { 45, 45, 15, 12, 51, 0 }, + { 46, 46, 15, 12, 51, 0 }, { 47, 47, 16, 12, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToUp252, { + { 16, 15, 0, 20, 51, 2 }, { 17, 14, 1, 20, 51, 2 }, { 18, 13, 1, 20, 51, 2 }, { 19, 12, 2, 20, 51, 2 }, { 20, 11, 2, 20, 51, 2 }, + { 21, 10, 3, 20, 51, 2 }, { 22, 9, 3, 20, 51, 2 }, { 23, 8, 4, 20, 51, 2 }, { 24, 7, 4, 20, 51, 1 }, { 25, 6, 5, 20, 51, 1 }, + { 26, 5, 5, 20, 51, 1 }, { 27, 4, 6, 20, 51, 1 }, { 28, 3, 6, 20, 51, 1 }, { 29, 2, 7, 20, 51, 1 }, { 30, 1, 7, 20, 51, 1 }, + { 31, 0, 8, 20, 51, 1 }, { 32, -1, 8, 20, 51, 1 }, { 33, -2, 9, 20, 51, 1 }, { 34, -3, 9, 20, 51, 1 }, { 35, -4, 10, 20, 51, 1 }, + { 36, -5, 10, 20, 51, 1 }, { 37, -6, 11, 20, 51, 1 }, { 38, -7, 11, 20, 51, 1 }, { 39, -8, 12, 20, 51, 1 }, { 40, -9, 12, 20, 51, 0 }, + { 41, -10, 13, 20, 51, 0 }, { 42, -11, 13, 20, 51, 0 }, { 43, -12, 14, 20, 51, 0 }, { 44, -13, 14, 20, 51, 0 }, { 45, -14, 15, 20, 51, 0 }, + { 46, -15, 15, 20, 51, 0 }, { 47, -16, 16, 20, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToUp253, { + { 15, 15, 1, 28, 51, 2 }, { 14, 14, 1, 28, 51, 2 }, { 13, 13, 2, 28, 51, 2 }, { 12, 12, 2, 28, 51, 2 }, { 11, 11, 3, 28, 51, 2 }, + { 10, 10, 3, 28, 51, 2 }, { 9, 9, 4, 28, 51, 2 }, { 8, 8, 4, 28, 51, 1 }, { 7, 7, 5, 28, 51, 1 }, { 6, 6, 5, 28, 51, 1 }, + { 5, 5, 6, 28, 51, 1 }, { 4, 4, 6, 28, 51, 1 }, { 3, 3, 7, 28, 51, 1 }, { 2, 2, 7, 28, 51, 1 }, { 1, 1, 8, 28, 51, 1 }, + { 0, 0, 8, 28, 51, 1 }, { -1, -1, 9, 28, 51, 1 }, { -2, -2, 9, 28, 51, 1 }, { -3, -3, 10, 28, 51, 1 }, { -4, -4, 10, 28, 51, 1 }, + { -5, -5, 11, 28, 51, 1 }, { -6, -6, 11, 28, 51, 1 }, { -7, -7, 12, 28, 51, 1 }, { -8, -8, 12, 28, 51, 0 }, { -9, -9, 13, 28, 51, 0 }, + { -10, -10, 13, 28, 51, 0 }, { -11, -11, 14, 28, 51, 0 }, { -12, -12, 14, 28, 51, 0 }, { -13, -13, 15, 28, 51, 0 }, { -14, -14, 15, 28, 51, 0 }, + { -15, -15, 16, 28, 51, 0 }, { -16, -16, 16, 28, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToUp250, { + { 15, 16, 1, 4, 51, 4 }, { 14, 17, 1, 4, 51, 4 }, { 13, 18, 2, 4, 51, 4 }, { 12, 19, 2, 4, 51, 4 }, { 11, 20, 3, 4, 51, 4 }, + { 10, 21, 3, 4, 51, 4 }, { 9, 22, 4, 4, 51, 4 }, { 8, 23, 4, 4, 51, 3 }, { 7, 24, 5, 4, 51, 3 }, { 6, 25, 5, 4, 51, 3 }, + { 5, 26, 6, 4, 51, 3 }, { 4, 27, 6, 4, 51, 3 }, { 3, 28, 7, 4, 51, 3 }, { 2, 29, 7, 4, 51, 3 }, { 1, 30, 8, 4, 51, 3 }, + { 0, 31, 8, 4, 51, 3 }, { -1, 32, 9, 4, 51, 3 }, { -2, 33, 9, 4, 51, 3 }, { -3, 34, 10, 4, 51, 3 }, { -4, 35, 10, 4, 51, 3 }, + { -5, 36, 11, 4, 51, 3 }, { -6, 37, 11, 4, 51, 3 }, { -7, 38, 12, 4, 51, 3 }, { -8, 39, 12, 4, 51, 0 }, { -9, 40, 13, 4, 51, 0 }, + { -10, 41, 13, 4, 51, 0 }, { -11, 42, 14, 4, 51, 0 }, { -12, 43, 14, 4, 51, 0 }, { -13, 44, 15, 4, 51, 0 }, { -14, 45, 15, 4, 51, 0 }, + { -15, 46, 16, 4, 51, 0 }, { -16, 47, 16, 4, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToUp251, { + { 16, 16, 0, 12, 51, 4 }, { 17, 17, 1, 12, 51, 4 }, { 18, 18, 1, 12, 51, 4 }, { 19, 19, 2, 12, 51, 4 }, { 20, 20, 2, 12, 51, 4 }, + { 21, 21, 3, 12, 51, 4 }, { 22, 22, 3, 12, 51, 4 }, { 23, 23, 4, 12, 51, 4 }, { 24, 24, 4, 12, 51, 3 }, { 25, 25, 5, 12, 51, 3 }, + { 26, 26, 5, 12, 51, 3 }, { 27, 27, 6, 12, 51, 3 }, { 28, 28, 6, 12, 51, 3 }, { 29, 29, 7, 12, 51, 3 }, { 30, 30, 7, 12, 51, 3 }, + { 31, 31, 8, 12, 51, 3 }, { 32, 32, 8, 12, 51, 3 }, { 33, 33, 9, 12, 51, 3 }, { 34, 34, 9, 12, 51, 3 }, { 35, 35, 10, 12, 51, 3 }, + { 36, 36, 10, 12, 51, 3 }, { 37, 37, 11, 12, 51, 3 }, { 38, 38, 11, 12, 51, 3 }, { 39, 39, 12, 12, 51, 3 }, { 40, 40, 12, 12, 51, 0 }, + { 41, 41, 13, 12, 51, 0 }, { 42, 42, 13, 12, 51, 0 }, { 43, 43, 14, 12, 51, 0 }, { 44, 44, 14, 12, 51, 0 }, { 45, 45, 15, 12, 51, 0 }, + { 46, 46, 15, 12, 51, 0 }, { 47, 47, 16, 12, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToUp252, { + { 16, 15, 0, 20, 51, 4 }, { 17, 14, 1, 20, 51, 4 }, { 18, 13, 1, 20, 51, 4 }, { 19, 12, 2, 20, 51, 4 }, { 20, 11, 2, 20, 51, 4 }, + { 21, 10, 3, 20, 51, 4 }, { 22, 9, 3, 20, 51, 4 }, { 23, 8, 4, 20, 51, 4 }, { 24, 7, 4, 20, 51, 3 }, { 25, 6, 5, 20, 51, 3 }, + { 26, 5, 5, 20, 51, 3 }, { 27, 4, 6, 20, 51, 3 }, { 28, 3, 6, 20, 51, 3 }, { 29, 2, 7, 20, 51, 3 }, { 30, 1, 7, 20, 51, 3 }, + { 31, 0, 8, 20, 51, 3 }, { 32, -1, 8, 20, 51, 3 }, { 33, -2, 9, 20, 51, 3 }, { 34, -3, 9, 20, 51, 3 }, { 35, -4, 10, 20, 51, 3 }, + { 36, -5, 10, 20, 51, 3 }, { 37, -6, 11, 20, 51, 3 }, { 38, -7, 11, 20, 51, 3 }, { 39, -8, 12, 20, 51, 3 }, { 40, -9, 12, 20, 51, 0 }, + { 41, -10, 13, 20, 51, 0 }, { 42, -11, 13, 20, 51, 0 }, { 43, -12, 14, 20, 51, 0 }, { 44, -13, 14, 20, 51, 0 }, { 45, -14, 15, 20, 51, 0 }, + { 46, -15, 15, 20, 51, 0 }, { 47, -16, 16, 20, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToUp253, { + { 15, 15, 1, 28, 51, 4 }, { 14, 14, 1, 28, 51, 4 }, { 13, 13, 2, 28, 51, 4 }, { 12, 12, 2, 28, 51, 4 }, { 11, 11, 3, 28, 51, 4 }, + { 10, 10, 3, 28, 51, 4 }, { 9, 9, 4, 28, 51, 4 }, { 8, 8, 4, 28, 51, 3 }, { 7, 7, 5, 28, 51, 3 }, { 6, 6, 5, 28, 51, 3 }, + { 5, 5, 6, 28, 51, 3 }, { 4, 4, 6, 28, 51, 3 }, { 3, 3, 7, 28, 51, 3 }, { 2, 2, 7, 28, 51, 3 }, { 1, 1, 8, 28, 51, 3 }, + { 0, 0, 8, 28, 51, 3 }, { -1, -1, 9, 28, 51, 3 }, { -2, -2, 9, 28, 51, 3 }, { -3, -3, 10, 28, 51, 3 }, { -4, -4, 10, 28, 51, 3 }, + { -5, -5, 11, 28, 51, 3 }, { -6, -6, 11, 28, 51, 3 }, { -7, -7, 12, 28, 51, 3 }, { -8, -8, 12, 28, 51, 0 }, { -9, -9, 13, 28, 51, 0 }, + { -10, -10, 13, 28, 51, 0 }, { -11, -11, 14, 28, 51, 0 }, { -12, -12, 14, 28, 51, 0 }, { -13, -13, 15, 28, 51, 0 }, { -14, -14, 15, 28, 51, 0 }, + { -15, -15, 16, 28, 51, 0 }, { -16, -16, 16, 28, 51, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToLeftBankedDown250, { + { 15, 16, 15, 4, 54, 0 }, { 14, 17, 15, 4, 54, 0 }, { 13, 18, 14, 4, 54, 0 }, { 12, 19, 14, 4, 54, 0 }, { 11, 20, 13, 4, 54, 0 }, + { 10, 21, 13, 4, 54, 0 }, { 9, 22, 12, 4, 54, 0 }, { 8, 23, 12, 4, 54, 1 }, { 7, 24, 11, 4, 54, 1 }, { 6, 25, 11, 4, 54, 1 }, + { 5, 26, 10, 4, 54, 1 }, { 4, 27, 10, 4, 54, 1 }, { 3, 28, 9, 4, 54, 1 }, { 2, 29, 9, 4, 54, 1 }, { 1, 30, 8, 4, 54, 1 }, + { 0, 31, 8, 4, 54, 1 }, { -1, 32, 7, 4, 54, 1 }, { -2, 33, 7, 4, 54, 1 }, { -3, 34, 6, 4, 54, 1 }, { -4, 35, 6, 4, 54, 1 }, + { -5, 36, 5, 4, 54, 1 }, { -6, 37, 5, 4, 54, 1 }, { -7, 38, 4, 4, 54, 1 }, { -8, 39, 4, 4, 54, 2 }, { -9, 40, 3, 4, 54, 2 }, + { -10, 41, 3, 4, 54, 2 }, { -11, 42, 2, 4, 54, 2 }, { -12, 43, 2, 4, 54, 2 }, { -13, 44, 1, 4, 54, 2 }, { -14, 45, 1, 4, 54, 2 }, + { -15, 46, 0, 4, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToLeftBankedDown251, { + { 16, 16, 16, 12, 54, 0 }, { 17, 17, 15, 12, 54, 0 }, { 18, 18, 15, 12, 54, 0 }, { 19, 19, 14, 12, 54, 0 }, { 20, 20, 14, 12, 54, 0 }, + { 21, 21, 13, 12, 54, 0 }, { 22, 22, 13, 12, 54, 0 }, { 23, 23, 12, 12, 54, 0 }, { 24, 24, 12, 12, 54, 1 }, { 25, 25, 11, 12, 54, 1 }, + { 26, 26, 11, 12, 54, 1 }, { 27, 27, 10, 12, 54, 1 }, { 28, 28, 10, 12, 54, 1 }, { 29, 29, 9, 12, 54, 1 }, { 30, 30, 9, 12, 54, 1 }, + { 31, 31, 8, 12, 54, 1 }, { 32, 32, 8, 12, 54, 1 }, { 33, 33, 7, 12, 54, 1 }, { 34, 34, 7, 12, 54, 1 }, { 35, 35, 6, 12, 54, 1 }, + { 36, 36, 6, 12, 54, 1 }, { 37, 37, 5, 12, 54, 1 }, { 38, 38, 5, 12, 54, 1 }, { 39, 39, 4, 12, 54, 1 }, { 40, 40, 4, 12, 54, 2 }, + { 41, 41, 3, 12, 54, 2 }, { 42, 42, 3, 12, 54, 2 }, { 43, 43, 2, 12, 54, 2 }, { 44, 44, 2, 12, 54, 2 }, { 45, 45, 1, 12, 54, 2 }, + { 46, 46, 1, 12, 54, 2 }, { 47, 47, 0, 12, 54, 2 }, { 48, 48, 0, 12, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToLeftBankedDown252, { + { 16, 15, 16, 20, 54, 0 }, { 17, 14, 15, 20, 54, 0 }, { 18, 13, 15, 20, 54, 0 }, { 19, 12, 14, 20, 54, 0 }, { 20, 11, 14, 20, 54, 0 }, + { 21, 10, 13, 20, 54, 0 }, { 22, 9, 13, 20, 54, 0 }, { 23, 8, 12, 20, 54, 0 }, { 24, 7, 12, 20, 54, 1 }, { 25, 6, 11, 20, 54, 1 }, + { 26, 5, 11, 20, 54, 1 }, { 27, 4, 10, 20, 54, 1 }, { 28, 3, 10, 20, 54, 1 }, { 29, 2, 9, 20, 54, 1 }, { 30, 1, 9, 20, 54, 1 }, + { 31, 0, 8, 20, 54, 1 }, { 32, -1, 8, 20, 54, 1 }, { 33, -2, 7, 20, 54, 1 }, { 34, -3, 7, 20, 54, 1 }, { 35, -4, 6, 20, 54, 1 }, + { 36, -5, 6, 20, 54, 1 }, { 37, -6, 5, 20, 54, 1 }, { 38, -7, 5, 20, 54, 1 }, { 39, -8, 4, 20, 54, 1 }, { 40, -9, 4, 20, 54, 2 }, + { 41, -10, 3, 20, 54, 2 }, { 42, -11, 3, 20, 54, 2 }, { 43, -12, 2, 20, 54, 2 }, { 44, -13, 2, 20, 54, 2 }, { 45, -14, 1, 20, 54, 2 }, + { 46, -15, 1, 20, 54, 2 }, { 47, -16, 0, 20, 54, 2 }, { 48, -17, 0, 20, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToLeftBankedDown253, { + { 15, 15, 15, 28, 54, 0 }, { 14, 14, 15, 28, 54, 0 }, { 13, 13, 14, 28, 54, 0 }, { 12, 12, 14, 28, 54, 0 }, { 11, 11, 13, 28, 54, 0 }, + { 10, 10, 13, 28, 54, 0 }, { 9, 9, 12, 28, 54, 0 }, { 8, 8, 12, 28, 54, 1 }, { 7, 7, 11, 28, 54, 1 }, { 6, 6, 11, 28, 54, 1 }, + { 5, 5, 10, 28, 54, 1 }, { 4, 4, 10, 28, 54, 1 }, { 3, 3, 9, 28, 54, 1 }, { 2, 2, 9, 28, 54, 1 }, { 1, 1, 8, 28, 54, 1 }, + { 0, 0, 8, 28, 54, 1 }, { -1, -1, 7, 28, 54, 1 }, { -2, -2, 7, 28, 54, 1 }, { -3, -3, 6, 28, 54, 1 }, { -4, -4, 6, 28, 54, 1 }, + { -5, -5, 5, 28, 54, 1 }, { -6, -6, 5, 28, 54, 1 }, { -7, -7, 4, 28, 54, 1 }, { -8, -8, 4, 28, 54, 2 }, { -9, -9, 3, 28, 54, 2 }, + { -10, -10, 3, 28, 54, 2 }, { -11, -11, 2, 28, 54, 2 }, { -12, -12, 2, 28, 54, 2 }, { -13, -13, 1, 28, 54, 2 }, { -14, -14, 1, 28, 54, 2 }, + { -15, -15, 0, 28, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToRightBankedDown250, { + { 15, 16, 15, 4, 54, 0 }, { 14, 17, 15, 4, 54, 0 }, { 13, 18, 14, 4, 54, 0 }, { 12, 19, 14, 4, 54, 0 }, { 11, 20, 13, 4, 54, 0 }, + { 10, 21, 13, 4, 54, 0 }, { 9, 22, 12, 4, 54, 0 }, { 8, 23, 12, 4, 54, 3 }, { 7, 24, 11, 4, 54, 3 }, { 6, 25, 11, 4, 54, 3 }, + { 5, 26, 10, 4, 54, 3 }, { 4, 27, 10, 4, 54, 3 }, { 3, 28, 9, 4, 54, 3 }, { 2, 29, 9, 4, 54, 3 }, { 1, 30, 8, 4, 54, 3 }, + { 0, 31, 8, 4, 54, 3 }, { -1, 32, 7, 4, 54, 3 }, { -2, 33, 7, 4, 54, 3 }, { -3, 34, 6, 4, 54, 3 }, { -4, 35, 6, 4, 54, 3 }, + { -5, 36, 5, 4, 54, 3 }, { -6, 37, 5, 4, 54, 3 }, { -7, 38, 4, 4, 54, 3 }, { -8, 39, 4, 4, 54, 4 }, { -9, 40, 3, 4, 54, 4 }, + { -10, 41, 3, 4, 54, 4 }, { -11, 42, 2, 4, 54, 4 }, { -12, 43, 2, 4, 54, 4 }, { -13, 44, 1, 4, 54, 4 }, { -14, 45, 1, 4, 54, 4 }, + { -15, 46, 0, 4, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToRightBankedDown251, { + { 16, 16, 16, 12, 54, 0 }, { 17, 17, 15, 12, 54, 0 }, { 18, 18, 15, 12, 54, 0 }, { 19, 19, 14, 12, 54, 0 }, { 20, 20, 14, 12, 54, 0 }, + { 21, 21, 13, 12, 54, 0 }, { 22, 22, 13, 12, 54, 0 }, { 23, 23, 12, 12, 54, 0 }, { 24, 24, 12, 12, 54, 3 }, { 25, 25, 11, 12, 54, 3 }, + { 26, 26, 11, 12, 54, 3 }, { 27, 27, 10, 12, 54, 3 }, { 28, 28, 10, 12, 54, 3 }, { 29, 29, 9, 12, 54, 3 }, { 30, 30, 9, 12, 54, 3 }, + { 31, 31, 8, 12, 54, 3 }, { 32, 32, 8, 12, 54, 3 }, { 33, 33, 7, 12, 54, 3 }, { 34, 34, 7, 12, 54, 3 }, { 35, 35, 6, 12, 54, 3 }, + { 36, 36, 6, 12, 54, 3 }, { 37, 37, 5, 12, 54, 3 }, { 38, 38, 5, 12, 54, 3 }, { 39, 39, 4, 12, 54, 3 }, { 40, 40, 4, 12, 54, 4 }, + { 41, 41, 3, 12, 54, 4 }, { 42, 42, 3, 12, 54, 4 }, { 43, 43, 2, 12, 54, 4 }, { 44, 44, 2, 12, 54, 4 }, { 45, 45, 1, 12, 54, 4 }, + { 46, 46, 1, 12, 54, 4 }, { 47, 47, 0, 12, 54, 4 }, { 48, 48, 0, 12, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToRightBankedDown252, { + { 16, 15, 16, 20, 54, 0 }, { 17, 14, 15, 20, 54, 0 }, { 18, 13, 15, 20, 54, 0 }, { 19, 12, 14, 20, 54, 0 }, { 20, 11, 14, 20, 54, 0 }, + { 21, 10, 13, 20, 54, 0 }, { 22, 9, 13, 20, 54, 0 }, { 23, 8, 12, 20, 54, 0 }, { 24, 7, 12, 20, 54, 3 }, { 25, 6, 11, 20, 54, 3 }, + { 26, 5, 11, 20, 54, 3 }, { 27, 4, 10, 20, 54, 3 }, { 28, 3, 10, 20, 54, 3 }, { 29, 2, 9, 20, 54, 3 }, { 30, 1, 9, 20, 54, 3 }, + { 31, 0, 8, 20, 54, 3 }, { 32, -1, 8, 20, 54, 3 }, { 33, -2, 7, 20, 54, 3 }, { 34, -3, 7, 20, 54, 3 }, { 35, -4, 6, 20, 54, 3 }, + { 36, -5, 6, 20, 54, 3 }, { 37, -6, 5, 20, 54, 3 }, { 38, -7, 5, 20, 54, 3 }, { 39, -8, 4, 20, 54, 3 }, { 40, -9, 4, 20, 54, 4 }, + { 41, -10, 3, 20, 54, 4 }, { 42, -11, 3, 20, 54, 4 }, { 43, -12, 2, 20, 54, 4 }, { 44, -13, 2, 20, 54, 4 }, { 45, -14, 1, 20, 54, 4 }, + { 46, -15, 1, 20, 54, 4 }, { 47, -16, 0, 20, 54, 4 }, { 48, -17, 0, 20, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25ToRightBankedDown253, { + { 15, 15, 15, 28, 54, 0 }, { 14, 14, 15, 28, 54, 0 }, { 13, 13, 14, 28, 54, 0 }, { 12, 12, 14, 28, 54, 0 }, { 11, 11, 13, 28, 54, 0 }, + { 10, 10, 13, 28, 54, 0 }, { 9, 9, 12, 28, 54, 0 }, { 8, 8, 12, 28, 54, 3 }, { 7, 7, 11, 28, 54, 3 }, { 6, 6, 11, 28, 54, 3 }, + { 5, 5, 10, 28, 54, 3 }, { 4, 4, 10, 28, 54, 3 }, { 3, 3, 9, 28, 54, 3 }, { 2, 2, 9, 28, 54, 3 }, { 1, 1, 8, 28, 54, 3 }, + { 0, 0, 8, 28, 54, 3 }, { -1, -1, 7, 28, 54, 3 }, { -2, -2, 7, 28, 54, 3 }, { -3, -3, 6, 28, 54, 3 }, { -4, -4, 6, 28, 54, 3 }, + { -5, -5, 5, 28, 54, 3 }, { -6, -6, 5, 28, 54, 3 }, { -7, -7, 4, 28, 54, 3 }, { -8, -8, 4, 28, 54, 4 }, { -9, -9, 3, 28, 54, 4 }, + { -10, -10, 3, 28, 54, 4 }, { -11, -11, 2, 28, 54, 4 }, { -12, -12, 2, 28, 54, 4 }, { -13, -13, 1, 28, 54, 4 }, { -14, -14, 1, 28, 54, 4 }, + { -15, -15, 0, 28, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToDown250, { + { 15, 16, 15, 4, 54, 2 }, { 14, 17, 15, 4, 54, 2 }, { 13, 18, 14, 4, 54, 2 }, { 12, 19, 14, 4, 54, 2 }, { 11, 20, 13, 4, 54, 2 }, + { 10, 21, 13, 4, 54, 2 }, { 9, 22, 12, 4, 54, 2 }, { 8, 23, 12, 4, 54, 1 }, { 7, 24, 11, 4, 54, 1 }, { 6, 25, 11, 4, 54, 1 }, + { 5, 26, 10, 4, 54, 1 }, { 4, 27, 10, 4, 54, 1 }, { 3, 28, 9, 4, 54, 1 }, { 2, 29, 9, 4, 54, 1 }, { 1, 30, 8, 4, 54, 1 }, + { 0, 31, 8, 4, 54, 1 }, { -1, 32, 7, 4, 54, 1 }, { -2, 33, 7, 4, 54, 1 }, { -3, 34, 6, 4, 54, 1 }, { -4, 35, 6, 4, 54, 1 }, + { -5, 36, 5, 4, 54, 1 }, { -6, 37, 5, 4, 54, 1 }, { -7, 38, 4, 4, 54, 1 }, { -8, 39, 4, 4, 54, 0 }, { -9, 40, 3, 4, 54, 0 }, + { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, + { -15, 46, 0, 4, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToDown251, { + { 16, 16, 16, 12, 54, 2 }, { 17, 17, 15, 12, 54, 2 }, { 18, 18, 15, 12, 54, 2 }, { 19, 19, 14, 12, 54, 2 }, { 20, 20, 14, 12, 54, 2 }, + { 21, 21, 13, 12, 54, 2 }, { 22, 22, 13, 12, 54, 2 }, { 23, 23, 12, 12, 54, 2 }, { 24, 24, 12, 12, 54, 1 }, { 25, 25, 11, 12, 54, 1 }, + { 26, 26, 11, 12, 54, 1 }, { 27, 27, 10, 12, 54, 1 }, { 28, 28, 10, 12, 54, 1 }, { 29, 29, 9, 12, 54, 1 }, { 30, 30, 9, 12, 54, 1 }, + { 31, 31, 8, 12, 54, 1 }, { 32, 32, 8, 12, 54, 1 }, { 33, 33, 7, 12, 54, 1 }, { 34, 34, 7, 12, 54, 1 }, { 35, 35, 6, 12, 54, 1 }, + { 36, 36, 6, 12, 54, 1 }, { 37, 37, 5, 12, 54, 1 }, { 38, 38, 5, 12, 54, 1 }, { 39, 39, 4, 12, 54, 1 }, { 40, 40, 4, 12, 54, 0 }, + { 41, 41, 3, 12, 54, 0 }, { 42, 42, 3, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 2, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, + { 46, 46, 1, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, { 48, 48, 0, 12, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToDown252, { + { 16, 15, 16, 20, 54, 2 }, { 17, 14, 15, 20, 54, 2 }, { 18, 13, 15, 20, 54, 2 }, { 19, 12, 14, 20, 54, 2 }, { 20, 11, 14, 20, 54, 2 }, + { 21, 10, 13, 20, 54, 2 }, { 22, 9, 13, 20, 54, 2 }, { 23, 8, 12, 20, 54, 2 }, { 24, 7, 12, 20, 54, 1 }, { 25, 6, 11, 20, 54, 1 }, + { 26, 5, 11, 20, 54, 1 }, { 27, 4, 10, 20, 54, 1 }, { 28, 3, 10, 20, 54, 1 }, { 29, 2, 9, 20, 54, 1 }, { 30, 1, 9, 20, 54, 1 }, + { 31, 0, 8, 20, 54, 1 }, { 32, -1, 8, 20, 54, 1 }, { 33, -2, 7, 20, 54, 1 }, { 34, -3, 7, 20, 54, 1 }, { 35, -4, 6, 20, 54, 1 }, + { 36, -5, 6, 20, 54, 1 }, { 37, -6, 5, 20, 54, 1 }, { 38, -7, 5, 20, 54, 1 }, { 39, -8, 4, 20, 54, 1 }, { 40, -9, 4, 20, 54, 0 }, + { 41, -10, 3, 20, 54, 0 }, { 42, -11, 3, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 2, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, + { 46, -15, 1, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, { 48, -17, 0, 20, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToDown253, { + { 15, 15, 15, 28, 54, 2 }, { 14, 14, 15, 28, 54, 2 }, { 13, 13, 14, 28, 54, 2 }, { 12, 12, 14, 28, 54, 2 }, { 11, 11, 13, 28, 54, 2 }, + { 10, 10, 13, 28, 54, 2 }, { 9, 9, 12, 28, 54, 2 }, { 8, 8, 12, 28, 54, 1 }, { 7, 7, 11, 28, 54, 1 }, { 6, 6, 11, 28, 54, 1 }, + { 5, 5, 10, 28, 54, 1 }, { 4, 4, 10, 28, 54, 1 }, { 3, 3, 9, 28, 54, 1 }, { 2, 2, 9, 28, 54, 1 }, { 1, 1, 8, 28, 54, 1 }, + { 0, 0, 8, 28, 54, 1 }, { -1, -1, 7, 28, 54, 1 }, { -2, -2, 7, 28, 54, 1 }, { -3, -3, 6, 28, 54, 1 }, { -4, -4, 6, 28, 54, 1 }, + { -5, -5, 5, 28, 54, 1 }, { -6, -6, 5, 28, 54, 1 }, { -7, -7, 4, 28, 54, 1 }, { -8, -8, 4, 28, 54, 0 }, { -9, -9, 3, 28, 54, 0 }, + { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, + { -15, -15, 0, 28, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToDown250, { + { 15, 16, 15, 4, 54, 4 }, { 14, 17, 15, 4, 54, 4 }, { 13, 18, 14, 4, 54, 4 }, { 12, 19, 14, 4, 54, 4 }, { 11, 20, 13, 4, 54, 4 }, + { 10, 21, 13, 4, 54, 4 }, { 9, 22, 12, 4, 54, 4 }, { 8, 23, 12, 4, 54, 3 }, { 7, 24, 11, 4, 54, 3 }, { 6, 25, 11, 4, 54, 3 }, + { 5, 26, 10, 4, 54, 3 }, { 4, 27, 10, 4, 54, 3 }, { 3, 28, 9, 4, 54, 3 }, { 2, 29, 9, 4, 54, 3 }, { 1, 30, 8, 4, 54, 3 }, + { 0, 31, 8, 4, 54, 3 }, { -1, 32, 7, 4, 54, 3 }, { -2, 33, 7, 4, 54, 3 }, { -3, 34, 6, 4, 54, 3 }, { -4, 35, 6, 4, 54, 3 }, + { -5, 36, 5, 4, 54, 3 }, { -6, 37, 5, 4, 54, 3 }, { -7, 38, 4, 4, 54, 3 }, { -8, 39, 4, 4, 54, 0 }, { -9, 40, 3, 4, 54, 0 }, + { -10, 41, 3, 4, 54, 0 }, { -11, 42, 2, 4, 54, 0 }, { -12, 43, 2, 4, 54, 0 }, { -13, 44, 1, 4, 54, 0 }, { -14, 45, 1, 4, 54, 0 }, + { -15, 46, 0, 4, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToDown251, { + { 16, 16, 16, 12, 54, 4 }, { 17, 17, 15, 12, 54, 4 }, { 18, 18, 15, 12, 54, 4 }, { 19, 19, 14, 12, 54, 4 }, { 20, 20, 14, 12, 54, 4 }, + { 21, 21, 13, 12, 54, 4 }, { 22, 22, 13, 12, 54, 4 }, { 23, 23, 12, 12, 54, 4 }, { 24, 24, 12, 12, 54, 3 }, { 25, 25, 11, 12, 54, 3 }, + { 26, 26, 11, 12, 54, 3 }, { 27, 27, 10, 12, 54, 3 }, { 28, 28, 10, 12, 54, 3 }, { 29, 29, 9, 12, 54, 3 }, { 30, 30, 9, 12, 54, 3 }, + { 31, 31, 8, 12, 54, 3 }, { 32, 32, 8, 12, 54, 3 }, { 33, 33, 7, 12, 54, 3 }, { 34, 34, 7, 12, 54, 3 }, { 35, 35, 6, 12, 54, 3 }, + { 36, 36, 6, 12, 54, 3 }, { 37, 37, 5, 12, 54, 3 }, { 38, 38, 5, 12, 54, 3 }, { 39, 39, 4, 12, 54, 3 }, { 40, 40, 4, 12, 54, 0 }, + { 41, 41, 3, 12, 54, 0 }, { 42, 42, 3, 12, 54, 0 }, { 43, 43, 2, 12, 54, 0 }, { 44, 44, 2, 12, 54, 0 }, { 45, 45, 1, 12, 54, 0 }, + { 46, 46, 1, 12, 54, 0 }, { 47, 47, 0, 12, 54, 0 }, { 48, 48, 0, 12, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToDown252, { + { 16, 15, 16, 20, 54, 4 }, { 17, 14, 15, 20, 54, 4 }, { 18, 13, 15, 20, 54, 4 }, { 19, 12, 14, 20, 54, 4 }, { 20, 11, 14, 20, 54, 4 }, + { 21, 10, 13, 20, 54, 4 }, { 22, 9, 13, 20, 54, 4 }, { 23, 8, 12, 20, 54, 4 }, { 24, 7, 12, 20, 54, 3 }, { 25, 6, 11, 20, 54, 3 }, + { 26, 5, 11, 20, 54, 3 }, { 27, 4, 10, 20, 54, 3 }, { 28, 3, 10, 20, 54, 3 }, { 29, 2, 9, 20, 54, 3 }, { 30, 1, 9, 20, 54, 3 }, + { 31, 0, 8, 20, 54, 3 }, { 32, -1, 8, 20, 54, 3 }, { 33, -2, 7, 20, 54, 3 }, { 34, -3, 7, 20, 54, 3 }, { 35, -4, 6, 20, 54, 3 }, + { 36, -5, 6, 20, 54, 3 }, { 37, -6, 5, 20, 54, 3 }, { 38, -7, 5, 20, 54, 3 }, { 39, -8, 4, 20, 54, 3 }, { 40, -9, 4, 20, 54, 0 }, + { 41, -10, 3, 20, 54, 0 }, { 42, -11, 3, 20, 54, 0 }, { 43, -12, 2, 20, 54, 0 }, { 44, -13, 2, 20, 54, 0 }, { 45, -14, 1, 20, 54, 0 }, + { 46, -15, 1, 20, 54, 0 }, { 47, -16, 0, 20, 54, 0 }, { 48, -17, 0, 20, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToDown253, { + { 15, 15, 15, 28, 54, 4 }, { 14, 14, 15, 28, 54, 4 }, { 13, 13, 14, 28, 54, 4 }, { 12, 12, 14, 28, 54, 4 }, { 11, 11, 13, 28, 54, 4 }, + { 10, 10, 13, 28, 54, 4 }, { 9, 9, 12, 28, 54, 4 }, { 8, 8, 12, 28, 54, 3 }, { 7, 7, 11, 28, 54, 3 }, { 6, 6, 11, 28, 54, 3 }, + { 5, 5, 10, 28, 54, 3 }, { 4, 4, 10, 28, 54, 3 }, { 3, 3, 9, 28, 54, 3 }, { 2, 2, 9, 28, 54, 3 }, { 1, 1, 8, 28, 54, 3 }, + { 0, 0, 8, 28, 54, 3 }, { -1, -1, 7, 28, 54, 3 }, { -2, -2, 7, 28, 54, 3 }, { -3, -3, 6, 28, 54, 3 }, { -4, -4, 6, 28, 54, 3 }, + { -5, -5, 5, 28, 54, 3 }, { -6, -6, 5, 28, 54, 3 }, { -7, -7, 4, 28, 54, 3 }, { -8, -8, 4, 28, 54, 0 }, { -9, -9, 3, 28, 54, 0 }, + { -10, -10, 3, 28, 54, 0 }, { -11, -11, 2, 28, 54, 0 }, { -12, -12, 2, 28, 54, 0 }, { -13, -13, 1, 28, 54, 0 }, { -14, -14, 1, 28, 54, 0 }, + { -15, -15, 0, 28, 54, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp250, { + { 15, 16, 0, 4, 0, 2 }, { 14, 17, 0, 4, 0, 2 }, { 13, 18, 0, 4, 0, 2 }, { 12, 19, 0, 4, 0, 2 }, { 11, 20, 0, 4, 0, 2 }, + { 10, 21, 0, 4, 0, 2 }, { 9, 22, 0, 4, 0, 2 }, { 8, 23, 1, 4, 50, 2 }, { 7, 24, 1, 4, 50, 2 }, { 6, 25, 1, 4, 50, 2 }, + { 5, 26, 1, 4, 50, 2 }, { 4, 27, 1, 4, 50, 2 }, { 3, 28, 1, 4, 50, 2 }, { 2, 29, 2, 4, 50, 2 }, { 1, 30, 2, 4, 50, 2 }, + { 0, 31, 2, 4, 50, 2 }, { -1, 32, 2, 4, 50, 2 }, { -2, 33, 3, 4, 50, 2 }, { -3, 34, 3, 4, 50, 2 }, { -4, 35, 3, 4, 50, 2 }, + { -5, 36, 4, 4, 50, 2 }, { -6, 37, 4, 4, 50, 2 }, { -7, 38, 4, 4, 50, 2 }, { -8, 39, 5, 4, 51, 2 }, { -9, 40, 5, 4, 51, 2 }, + { -10, 41, 5, 4, 51, 2 }, { -11, 42, 6, 4, 51, 2 }, { -12, 43, 6, 4, 51, 2 }, { -13, 44, 7, 4, 51, 2 }, { -14, 45, 7, 4, 51, 2 }, + { -15, 46, 8, 4, 51, 2 }, { -16, 47, 8, 4, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp251, { + { 16, 16, 0, 12, 0, 2 }, { 17, 17, 0, 12, 0, 2 }, { 18, 18, 0, 12, 0, 2 }, { 19, 19, 0, 12, 0, 2 }, { 20, 20, 0, 12, 0, 2 }, + { 21, 21, 0, 12, 0, 2 }, { 22, 22, 0, 12, 0, 2 }, { 23, 23, 0, 12, 0, 2 }, { 24, 24, 1, 12, 50, 2 }, { 25, 25, 1, 12, 50, 2 }, + { 26, 26, 1, 12, 50, 2 }, { 27, 27, 1, 12, 50, 2 }, { 28, 28, 1, 12, 50, 2 }, { 29, 29, 1, 12, 50, 2 }, { 30, 30, 2, 12, 50, 2 }, + { 31, 31, 2, 12, 50, 2 }, { 32, 32, 2, 12, 50, 2 }, { 33, 33, 2, 12, 50, 2 }, { 34, 34, 3, 12, 50, 2 }, { 35, 35, 3, 12, 50, 2 }, + { 36, 36, 3, 12, 50, 2 }, { 37, 37, 4, 12, 50, 2 }, { 38, 38, 4, 12, 50, 2 }, { 39, 39, 4, 12, 50, 2 }, { 40, 40, 5, 12, 51, 2 }, + { 41, 41, 5, 12, 51, 2 }, { 42, 42, 5, 12, 51, 2 }, { 43, 43, 6, 12, 51, 2 }, { 44, 44, 6, 12, 51, 2 }, { 45, 45, 7, 12, 51, 2 }, + { 46, 46, 7, 12, 51, 2 }, { 47, 47, 8, 12, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp252, { + { 16, 15, 0, 20, 0, 2 }, { 17, 14, 0, 20, 0, 2 }, { 18, 13, 0, 20, 0, 2 }, { 19, 12, 0, 20, 0, 2 }, { 20, 11, 0, 20, 0, 2 }, + { 21, 10, 0, 20, 0, 2 }, { 22, 9, 0, 20, 0, 2 }, { 23, 8, 0, 20, 0, 2 }, { 24, 7, 1, 20, 50, 2 }, { 25, 6, 1, 20, 50, 2 }, + { 26, 5, 1, 20, 50, 2 }, { 27, 4, 1, 20, 50, 2 }, { 28, 3, 1, 20, 50, 2 }, { 29, 2, 1, 20, 50, 2 }, { 30, 1, 2, 20, 50, 2 }, + { 31, 0, 2, 20, 50, 2 }, { 32, -1, 2, 20, 50, 2 }, { 33, -2, 2, 20, 50, 2 }, { 34, -3, 3, 20, 50, 2 }, { 35, -4, 3, 20, 50, 2 }, + { 36, -5, 3, 20, 50, 2 }, { 37, -6, 4, 20, 50, 2 }, { 38, -7, 4, 20, 50, 2 }, { 39, -8, 4, 20, 50, 2 }, { 40, -9, 5, 20, 51, 2 }, + { 41, -10, 5, 20, 51, 2 }, { 42, -11, 5, 20, 51, 2 }, { 43, -12, 6, 20, 51, 2 }, { 44, -13, 6, 20, 51, 2 }, { 45, -14, 7, 20, 51, 2 }, + { 46, -15, 7, 20, 51, 2 }, { 47, -16, 8, 20, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp253, { + { 15, 15, 0, 28, 0, 2 }, { 14, 14, 0, 28, 0, 2 }, { 13, 13, 0, 28, 0, 2 }, { 12, 12, 0, 28, 0, 2 }, { 11, 11, 0, 28, 0, 2 }, + { 10, 10, 0, 28, 0, 2 }, { 9, 9, 0, 28, 0, 2 }, { 8, 8, 1, 28, 50, 2 }, { 7, 7, 1, 28, 50, 2 }, { 6, 6, 1, 28, 50, 2 }, + { 5, 5, 1, 28, 50, 2 }, { 4, 4, 1, 28, 50, 2 }, { 3, 3, 1, 28, 50, 2 }, { 2, 2, 2, 28, 50, 2 }, { 1, 1, 2, 28, 50, 2 }, + { 0, 0, 2, 28, 50, 2 }, { -1, -1, 2, 28, 50, 2 }, { -2, -2, 3, 28, 50, 2 }, { -3, -3, 3, 28, 50, 2 }, { -4, -4, 3, 28, 50, 2 }, + { -5, -5, 4, 28, 50, 2 }, { -6, -6, 4, 28, 50, 2 }, { -7, -7, 4, 28, 50, 2 }, { -8, -8, 5, 28, 51, 2 }, { -9, -9, 5, 28, 51, 2 }, + { -10, -10, 5, 28, 51, 2 }, { -11, -11, 6, 28, 51, 2 }, { -12, -12, 6, 28, 51, 2 }, { -13, -13, 7, 28, 51, 2 }, { -14, -14, 7, 28, 51, 2 }, + { -15, -15, 8, 28, 51, 2 }, { -16, -16, 8, 28, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedUp250, { + { 15, 16, 0, 4, 0, 4 }, { 14, 17, 0, 4, 0, 4 }, { 13, 18, 0, 4, 0, 4 }, { 12, 19, 0, 4, 0, 4 }, { 11, 20, 0, 4, 0, 4 }, + { 10, 21, 0, 4, 0, 4 }, { 9, 22, 0, 4, 0, 4 }, { 8, 23, 1, 4, 50, 4 }, { 7, 24, 1, 4, 50, 4 }, { 6, 25, 1, 4, 50, 4 }, + { 5, 26, 1, 4, 50, 4 }, { 4, 27, 1, 4, 50, 4 }, { 3, 28, 1, 4, 50, 4 }, { 2, 29, 2, 4, 50, 4 }, { 1, 30, 2, 4, 50, 4 }, + { 0, 31, 2, 4, 50, 4 }, { -1, 32, 2, 4, 50, 4 }, { -2, 33, 3, 4, 50, 4 }, { -3, 34, 3, 4, 50, 4 }, { -4, 35, 3, 4, 50, 4 }, + { -5, 36, 4, 4, 50, 4 }, { -6, 37, 4, 4, 50, 4 }, { -7, 38, 4, 4, 50, 4 }, { -8, 39, 5, 4, 51, 4 }, { -9, 40, 5, 4, 51, 4 }, + { -10, 41, 5, 4, 51, 4 }, { -11, 42, 6, 4, 51, 4 }, { -12, 43, 6, 4, 51, 4 }, { -13, 44, 7, 4, 51, 4 }, { -14, 45, 7, 4, 51, 4 }, + { -15, 46, 8, 4, 51, 4 }, { -16, 47, 8, 4, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedUp251, { + { 16, 16, 0, 12, 0, 4 }, { 17, 17, 0, 12, 0, 4 }, { 18, 18, 0, 12, 0, 4 }, { 19, 19, 0, 12, 0, 4 }, { 20, 20, 0, 12, 0, 4 }, + { 21, 21, 0, 12, 0, 4 }, { 22, 22, 0, 12, 0, 4 }, { 23, 23, 0, 12, 0, 4 }, { 24, 24, 1, 12, 50, 4 }, { 25, 25, 1, 12, 50, 4 }, + { 26, 26, 1, 12, 50, 4 }, { 27, 27, 1, 12, 50, 4 }, { 28, 28, 1, 12, 50, 4 }, { 29, 29, 1, 12, 50, 4 }, { 30, 30, 2, 12, 50, 4 }, + { 31, 31, 2, 12, 50, 4 }, { 32, 32, 2, 12, 50, 4 }, { 33, 33, 2, 12, 50, 4 }, { 34, 34, 3, 12, 50, 4 }, { 35, 35, 3, 12, 50, 4 }, + { 36, 36, 3, 12, 50, 4 }, { 37, 37, 4, 12, 50, 4 }, { 38, 38, 4, 12, 50, 4 }, { 39, 39, 4, 12, 50, 4 }, { 40, 40, 5, 12, 51, 4 }, + { 41, 41, 5, 12, 51, 4 }, { 42, 42, 5, 12, 51, 4 }, { 43, 43, 6, 12, 51, 4 }, { 44, 44, 6, 12, 51, 4 }, { 45, 45, 7, 12, 51, 4 }, + { 46, 46, 7, 12, 51, 4 }, { 47, 47, 8, 12, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedUp252, { + { 16, 15, 0, 20, 0, 4 }, { 17, 14, 0, 20, 0, 4 }, { 18, 13, 0, 20, 0, 4 }, { 19, 12, 0, 20, 0, 4 }, { 20, 11, 0, 20, 0, 4 }, + { 21, 10, 0, 20, 0, 4 }, { 22, 9, 0, 20, 0, 4 }, { 23, 8, 0, 20, 0, 4 }, { 24, 7, 1, 20, 50, 4 }, { 25, 6, 1, 20, 50, 4 }, + { 26, 5, 1, 20, 50, 4 }, { 27, 4, 1, 20, 50, 4 }, { 28, 3, 1, 20, 50, 4 }, { 29, 2, 1, 20, 50, 4 }, { 30, 1, 2, 20, 50, 4 }, + { 31, 0, 2, 20, 50, 4 }, { 32, -1, 2, 20, 50, 4 }, { 33, -2, 2, 20, 50, 4 }, { 34, -3, 3, 20, 50, 4 }, { 35, -4, 3, 20, 50, 4 }, + { 36, -5, 3, 20, 50, 4 }, { 37, -6, 4, 20, 50, 4 }, { 38, -7, 4, 20, 50, 4 }, { 39, -8, 4, 20, 50, 4 }, { 40, -9, 5, 20, 51, 4 }, + { 41, -10, 5, 20, 51, 4 }, { 42, -11, 5, 20, 51, 4 }, { 43, -12, 6, 20, 51, 4 }, { 44, -13, 6, 20, 51, 4 }, { 45, -14, 7, 20, 51, 4 }, + { 46, -15, 7, 20, 51, 4 }, { 47, -16, 8, 20, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedUp253, { + { 15, 15, 0, 28, 0, 4 }, { 14, 14, 0, 28, 0, 4 }, { 13, 13, 0, 28, 0, 4 }, { 12, 12, 0, 28, 0, 4 }, { 11, 11, 0, 28, 0, 4 }, + { 10, 10, 0, 28, 0, 4 }, { 9, 9, 0, 28, 0, 4 }, { 8, 8, 1, 28, 50, 4 }, { 7, 7, 1, 28, 50, 4 }, { 6, 6, 1, 28, 50, 4 }, + { 5, 5, 1, 28, 50, 4 }, { 4, 4, 1, 28, 50, 4 }, { 3, 3, 1, 28, 50, 4 }, { 2, 2, 2, 28, 50, 4 }, { 1, 1, 2, 28, 50, 4 }, + { 0, 0, 2, 28, 50, 4 }, { -1, -1, 2, 28, 50, 4 }, { -2, -2, 3, 28, 50, 4 }, { -3, -3, 3, 28, 50, 4 }, { -4, -4, 3, 28, 50, 4 }, + { -5, -5, 4, 28, 50, 4 }, { -6, -6, 4, 28, 50, 4 }, { -7, -7, 4, 28, 50, 4 }, { -8, -8, 5, 28, 51, 4 }, { -9, -9, 5, 28, 51, 4 }, + { -10, -10, 5, 28, 51, 4 }, { -11, -11, 6, 28, 51, 4 }, { -12, -12, 6, 28, 51, 4 }, { -13, -13, 7, 28, 51, 4 }, { -14, -14, 7, 28, 51, 4 }, + { -15, -15, 8, 28, 51, 4 }, { -16, -16, 8, 28, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat0, { + { 15, 16, 1, 4, 51, 2 }, { 14, 17, 1, 4, 51, 2 }, { 13, 18, 2, 4, 51, 2 }, { 12, 19, 2, 4, 51, 2 }, { 11, 20, 2, 4, 51, 2 }, + { 10, 21, 3, 4, 51, 2 }, { 9, 22, 3, 4, 51, 2 }, { 8, 23, 4, 4, 50, 2 }, { 7, 24, 4, 4, 50, 2 }, { 6, 25, 4, 4, 50, 2 }, + { 5, 26, 5, 4, 50, 2 }, { 4, 27, 5, 4, 50, 2 }, { 3, 28, 5, 4, 50, 2 }, { 2, 29, 6, 4, 50, 2 }, { 1, 30, 6, 4, 50, 2 }, + { 0, 31, 6, 4, 50, 2 }, { -1, 32, 6, 4, 50, 2 }, { -2, 33, 7, 4, 50, 2 }, { -3, 34, 7, 4, 50, 2 }, { -4, 35, 7, 4, 50, 2 }, + { -5, 36, 7, 4, 50, 2 }, { -6, 37, 7, 4, 50, 2 }, { -7, 38, 7, 4, 50, 2 }, { -8, 39, 8, 4, 0, 2 }, { -9, 40, 8, 4, 0, 2 }, + { -10, 41, 8, 4, 0, 2 }, { -11, 42, 8, 4, 0, 2 }, { -12, 43, 8, 4, 0, 2 }, { -13, 44, 8, 4, 0, 2 }, { -14, 45, 8, 4, 0, 2 }, + { -15, 46, 8, 4, 0, 2 }, { -16, 47, 8, 4, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat1, { + { 16, 16, 0, 12, 51, 2 }, { 17, 17, 1, 12, 51, 2 }, { 18, 18, 1, 12, 51, 2 }, { 19, 19, 2, 12, 51, 2 }, { 20, 20, 2, 12, 51, 2 }, + { 21, 21, 2, 12, 51, 2 }, { 22, 22, 3, 12, 51, 2 }, { 23, 23, 3, 12, 51, 2 }, { 24, 24, 4, 12, 50, 2 }, { 25, 25, 4, 12, 50, 2 }, + { 26, 26, 4, 12, 50, 2 }, { 27, 27, 5, 12, 50, 2 }, { 28, 28, 5, 12, 50, 2 }, { 29, 29, 5, 12, 50, 2 }, { 30, 30, 6, 12, 50, 2 }, + { 31, 31, 6, 12, 50, 2 }, { 32, 32, 6, 12, 50, 2 }, { 33, 33, 6, 12, 50, 2 }, { 34, 34, 7, 12, 50, 2 }, { 35, 35, 7, 12, 50, 2 }, + { 36, 36, 7, 12, 50, 2 }, { 37, 37, 7, 12, 50, 2 }, { 38, 38, 7, 12, 50, 2 }, { 39, 39, 7, 12, 50, 2 }, { 40, 40, 8, 12, 0, 2 }, + { 41, 41, 8, 12, 0, 2 }, { 42, 42, 8, 12, 0, 2 }, { 43, 43, 8, 12, 0, 2 }, { 44, 44, 8, 12, 0, 2 }, { 45, 45, 8, 12, 0, 2 }, + { 46, 46, 8, 12, 0, 2 }, { 47, 47, 8, 12, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat2, { + { 16, 15, 0, 20, 51, 2 }, { 17, 14, 1, 20, 51, 2 }, { 18, 13, 1, 20, 51, 2 }, { 19, 12, 2, 20, 51, 2 }, { 20, 11, 2, 20, 51, 2 }, + { 21, 10, 2, 20, 51, 2 }, { 22, 9, 3, 20, 51, 2 }, { 23, 8, 3, 20, 51, 2 }, { 24, 7, 4, 20, 50, 2 }, { 25, 6, 4, 20, 50, 2 }, + { 26, 5, 4, 20, 50, 2 }, { 27, 4, 5, 20, 50, 2 }, { 28, 3, 5, 20, 50, 2 }, { 29, 2, 5, 20, 50, 2 }, { 30, 1, 6, 20, 50, 2 }, + { 31, 0, 6, 20, 50, 2 }, { 32, -1, 6, 20, 50, 2 }, { 33, -2, 6, 20, 50, 2 }, { 34, -3, 7, 20, 50, 2 }, { 35, -4, 7, 20, 50, 2 }, + { 36, -5, 7, 20, 50, 2 }, { 37, -6, 7, 20, 50, 2 }, { 38, -7, 7, 20, 50, 2 }, { 39, -8, 7, 20, 50, 2 }, { 40, -9, 8, 20, 0, 2 }, + { 41, -10, 8, 20, 0, 2 }, { 42, -11, 8, 20, 0, 2 }, { 43, -12, 8, 20, 0, 2 }, { 44, -13, 8, 20, 0, 2 }, { 45, -14, 8, 20, 0, 2 }, + { 46, -15, 8, 20, 0, 2 }, { 47, -16, 8, 20, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat3, { + { 15, 15, 1, 28, 51, 2 }, { 14, 14, 1, 28, 51, 2 }, { 13, 13, 2, 28, 51, 2 }, { 12, 12, 2, 28, 51, 2 }, { 11, 11, 2, 28, 51, 2 }, + { 10, 10, 3, 28, 51, 2 }, { 9, 9, 3, 28, 51, 2 }, { 8, 8, 4, 28, 50, 2 }, { 7, 7, 4, 28, 50, 2 }, { 6, 6, 4, 28, 50, 2 }, + { 5, 5, 5, 28, 50, 2 }, { 4, 4, 5, 28, 50, 2 }, { 3, 3, 5, 28, 50, 2 }, { 2, 2, 6, 28, 50, 2 }, { 1, 1, 6, 28, 50, 2 }, + { 0, 0, 6, 28, 50, 2 }, { -1, -1, 6, 28, 50, 2 }, { -2, -2, 7, 28, 50, 2 }, { -3, -3, 7, 28, 50, 2 }, { -4, -4, 7, 28, 50, 2 }, + { -5, -5, 7, 28, 50, 2 }, { -6, -6, 7, 28, 50, 2 }, { -7, -7, 7, 28, 50, 2 }, { -8, -8, 8, 28, 0, 2 }, { -9, -9, 8, 28, 0, 2 }, + { -10, -10, 8, 28, 0, 2 }, { -11, -11, 8, 28, 0, 2 }, { -12, -12, 8, 28, 0, 2 }, { -13, -13, 8, 28, 0, 2 }, { -14, -14, 8, 28, 0, 2 }, + { -15, -15, 8, 28, 0, 2 }, { -16, -16, 8, 28, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat0, { + { 15, 16, 1, 4, 51, 4 }, { 14, 17, 1, 4, 51, 4 }, { 13, 18, 2, 4, 51, 4 }, { 12, 19, 2, 4, 51, 4 }, { 11, 20, 2, 4, 51, 4 }, + { 10, 21, 3, 4, 51, 4 }, { 9, 22, 3, 4, 51, 4 }, { 8, 23, 4, 4, 50, 4 }, { 7, 24, 4, 4, 50, 4 }, { 6, 25, 4, 4, 50, 4 }, + { 5, 26, 5, 4, 50, 4 }, { 4, 27, 5, 4, 50, 4 }, { 3, 28, 5, 4, 50, 4 }, { 2, 29, 6, 4, 50, 4 }, { 1, 30, 6, 4, 50, 4 }, + { 0, 31, 6, 4, 50, 4 }, { -1, 32, 6, 4, 50, 4 }, { -2, 33, 7, 4, 50, 4 }, { -3, 34, 7, 4, 50, 4 }, { -4, 35, 7, 4, 50, 4 }, + { -5, 36, 7, 4, 50, 4 }, { -6, 37, 7, 4, 50, 4 }, { -7, 38, 7, 4, 50, 4 }, { -8, 39, 8, 4, 0, 4 }, { -9, 40, 8, 4, 0, 4 }, + { -10, 41, 8, 4, 0, 4 }, { -11, 42, 8, 4, 0, 4 }, { -12, 43, 8, 4, 0, 4 }, { -13, 44, 8, 4, 0, 4 }, { -14, 45, 8, 4, 0, 4 }, + { -15, 46, 8, 4, 0, 4 }, { -16, 47, 8, 4, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat1, { + { 16, 16, 0, 12, 51, 4 }, { 17, 17, 1, 12, 51, 4 }, { 18, 18, 1, 12, 51, 4 }, { 19, 19, 2, 12, 51, 4 }, { 20, 20, 2, 12, 51, 4 }, + { 21, 21, 2, 12, 51, 4 }, { 22, 22, 3, 12, 51, 4 }, { 23, 23, 3, 12, 51, 4 }, { 24, 24, 4, 12, 50, 4 }, { 25, 25, 4, 12, 50, 4 }, + { 26, 26, 4, 12, 50, 4 }, { 27, 27, 5, 12, 50, 4 }, { 28, 28, 5, 12, 50, 4 }, { 29, 29, 5, 12, 50, 4 }, { 30, 30, 6, 12, 50, 4 }, + { 31, 31, 6, 12, 50, 4 }, { 32, 32, 6, 12, 50, 4 }, { 33, 33, 6, 12, 50, 4 }, { 34, 34, 7, 12, 50, 4 }, { 35, 35, 7, 12, 50, 4 }, + { 36, 36, 7, 12, 50, 4 }, { 37, 37, 7, 12, 50, 4 }, { 38, 38, 7, 12, 50, 4 }, { 39, 39, 7, 12, 50, 4 }, { 40, 40, 8, 12, 0, 4 }, + { 41, 41, 8, 12, 0, 4 }, { 42, 42, 8, 12, 0, 4 }, { 43, 43, 8, 12, 0, 4 }, { 44, 44, 8, 12, 0, 4 }, { 45, 45, 8, 12, 0, 4 }, + { 46, 46, 8, 12, 0, 4 }, { 47, 47, 8, 12, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat2, { + { 16, 15, 0, 20, 51, 4 }, { 17, 14, 1, 20, 51, 4 }, { 18, 13, 1, 20, 51, 4 }, { 19, 12, 2, 20, 51, 4 }, { 20, 11, 2, 20, 51, 4 }, + { 21, 10, 2, 20, 51, 4 }, { 22, 9, 3, 20, 51, 4 }, { 23, 8, 3, 20, 51, 4 }, { 24, 7, 4, 20, 50, 4 }, { 25, 6, 4, 20, 50, 4 }, + { 26, 5, 4, 20, 50, 4 }, { 27, 4, 5, 20, 50, 4 }, { 28, 3, 5, 20, 50, 4 }, { 29, 2, 5, 20, 50, 4 }, { 30, 1, 6, 20, 50, 4 }, + { 31, 0, 6, 20, 50, 4 }, { 32, -1, 6, 20, 50, 4 }, { 33, -2, 6, 20, 50, 4 }, { 34, -3, 7, 20, 50, 4 }, { 35, -4, 7, 20, 50, 4 }, + { 36, -5, 7, 20, 50, 4 }, { 37, -6, 7, 20, 50, 4 }, { 38, -7, 7, 20, 50, 4 }, { 39, -8, 7, 20, 50, 4 }, { 40, -9, 8, 20, 0, 4 }, + { 41, -10, 8, 20, 0, 4 }, { 42, -11, 8, 20, 0, 4 }, { 43, -12, 8, 20, 0, 4 }, { 44, -13, 8, 20, 0, 4 }, { 45, -14, 8, 20, 0, 4 }, + { 46, -15, 8, 20, 0, 4 }, { 47, -16, 8, 20, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat3, { + { 15, 15, 1, 28, 51, 4 }, { 14, 14, 1, 28, 51, 4 }, { 13, 13, 2, 28, 51, 4 }, { 12, 12, 2, 28, 51, 4 }, { 11, 11, 2, 28, 51, 4 }, + { 10, 10, 3, 28, 51, 4 }, { 9, 9, 3, 28, 51, 4 }, { 8, 8, 4, 28, 50, 4 }, { 7, 7, 4, 28, 50, 4 }, { 6, 6, 4, 28, 50, 4 }, + { 5, 5, 5, 28, 50, 4 }, { 4, 4, 5, 28, 50, 4 }, { 3, 3, 5, 28, 50, 4 }, { 2, 2, 6, 28, 50, 4 }, { 1, 1, 6, 28, 50, 4 }, + { 0, 0, 6, 28, 50, 4 }, { -1, -1, 6, 28, 50, 4 }, { -2, -2, 7, 28, 50, 4 }, { -3, -3, 7, 28, 50, 4 }, { -4, -4, 7, 28, 50, 4 }, + { -5, -5, 7, 28, 50, 4 }, { -6, -6, 7, 28, 50, 4 }, { -7, -7, 7, 28, 50, 4 }, { -8, -8, 8, 28, 0, 4 }, { -9, -9, 8, 28, 0, 4 }, + { -10, -10, 8, 28, 0, 4 }, { -11, -11, 8, 28, 0, 4 }, { -12, -12, 8, 28, 0, 4 }, { -13, -13, 8, 28, 0, 4 }, { -14, -14, 8, 28, 0, 4 }, + { -15, -15, 8, 28, 0, 4 }, { -16, -16, 8, 28, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown250, { + { 15, 16, 8, 4, 0, 2 }, { 14, 17, 8, 4, 0, 2 }, { 13, 18, 8, 4, 0, 2 }, { 12, 19, 8, 4, 0, 2 }, { 11, 20, 8, 4, 0, 2 }, + { 10, 21, 8, 4, 0, 2 }, { 9, 22, 8, 4, 0, 2 }, { 8, 23, 7, 4, 53, 2 }, { 7, 24, 7, 4, 53, 2 }, { 6, 25, 7, 4, 53, 2 }, + { 5, 26, 7, 4, 53, 2 }, { 4, 27, 7, 4, 53, 2 }, { 3, 28, 7, 4, 53, 2 }, { 2, 29, 6, 4, 53, 2 }, { 1, 30, 6, 4, 53, 2 }, + { 0, 31, 6, 4, 53, 2 }, { -1, 32, 6, 4, 53, 2 }, { -2, 33, 5, 4, 53, 2 }, { -3, 34, 5, 4, 53, 2 }, { -4, 35, 5, 4, 53, 2 }, + { -5, 36, 4, 4, 53, 2 }, { -6, 37, 4, 4, 53, 2 }, { -7, 38, 4, 4, 53, 2 }, { -8, 39, 3, 4, 54, 2 }, { -9, 40, 3, 4, 54, 2 }, + { -10, 41, 3, 4, 54, 2 }, { -11, 42, 2, 4, 54, 2 }, { -12, 43, 2, 4, 54, 2 }, { -13, 44, 1, 4, 54, 2 }, { -14, 45, 1, 4, 54, 2 }, + { -15, 46, 0, 4, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown251, { + { 16, 16, 8, 12, 0, 2 }, { 17, 17, 8, 12, 0, 2 }, { 18, 18, 8, 12, 0, 2 }, { 19, 19, 8, 12, 0, 2 }, { 20, 20, 8, 12, 0, 2 }, + { 21, 21, 8, 12, 0, 2 }, { 22, 22, 8, 12, 0, 2 }, { 23, 23, 8, 12, 0, 2 }, { 24, 24, 7, 12, 53, 2 }, { 25, 25, 7, 12, 53, 2 }, + { 26, 26, 7, 12, 53, 2 }, { 27, 27, 7, 12, 53, 2 }, { 28, 28, 7, 12, 53, 2 }, { 29, 29, 7, 12, 53, 2 }, { 30, 30, 6, 12, 53, 2 }, + { 31, 31, 6, 12, 53, 2 }, { 32, 32, 6, 12, 53, 2 }, { 33, 33, 6, 12, 53, 2 }, { 34, 34, 5, 12, 53, 2 }, { 35, 35, 5, 12, 53, 2 }, + { 36, 36, 5, 12, 53, 2 }, { 37, 37, 4, 12, 53, 2 }, { 38, 38, 4, 12, 53, 2 }, { 39, 39, 4, 12, 53, 2 }, { 40, 40, 3, 12, 54, 2 }, + { 41, 41, 3, 12, 54, 2 }, { 42, 42, 3, 12, 54, 2 }, { 43, 43, 2, 12, 54, 2 }, { 44, 44, 2, 12, 54, 2 }, { 45, 45, 1, 12, 54, 2 }, + { 46, 46, 1, 12, 54, 2 }, { 47, 47, 0, 12, 54, 2 }, { 48, 48, 0, 12, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown252, { + { 16, 15, 8, 20, 0, 2 }, { 17, 14, 8, 20, 0, 2 }, { 18, 13, 8, 20, 0, 2 }, { 19, 12, 8, 20, 0, 2 }, { 20, 11, 8, 20, 0, 2 }, + { 21, 10, 8, 20, 0, 2 }, { 22, 9, 8, 20, 0, 2 }, { 23, 8, 8, 20, 0, 2 }, { 24, 7, 7, 20, 53, 2 }, { 25, 6, 7, 20, 53, 2 }, + { 26, 5, 7, 20, 53, 2 }, { 27, 4, 7, 20, 53, 2 }, { 28, 3, 7, 20, 53, 2 }, { 29, 2, 7, 20, 53, 2 }, { 30, 1, 6, 20, 53, 2 }, + { 31, 0, 6, 20, 53, 2 }, { 32, -1, 6, 20, 53, 2 }, { 33, -2, 6, 20, 53, 2 }, { 34, -3, 5, 20, 53, 2 }, { 35, -4, 5, 20, 53, 2 }, + { 36, -5, 5, 20, 53, 2 }, { 37, -6, 4, 20, 53, 2 }, { 38, -7, 4, 20, 53, 2 }, { 39, -8, 4, 20, 53, 2 }, { 40, -9, 3, 20, 54, 2 }, + { 41, -10, 3, 20, 54, 2 }, { 42, -11, 3, 20, 54, 2 }, { 43, -12, 2, 20, 54, 2 }, { 44, -13, 2, 20, 54, 2 }, { 45, -14, 1, 20, 54, 2 }, + { 46, -15, 1, 20, 54, 2 }, { 47, -16, 0, 20, 54, 2 }, { 48, -17, 0, 20, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown253, { + { 15, 15, 8, 28, 0, 2 }, { 14, 14, 8, 28, 0, 2 }, { 13, 13, 8, 28, 0, 2 }, { 12, 12, 8, 28, 0, 2 }, { 11, 11, 8, 28, 0, 2 }, + { 10, 10, 8, 28, 0, 2 }, { 9, 9, 8, 28, 0, 2 }, { 8, 8, 7, 28, 53, 2 }, { 7, 7, 7, 28, 53, 2 }, { 6, 6, 7, 28, 53, 2 }, + { 5, 5, 7, 28, 53, 2 }, { 4, 4, 7, 28, 53, 2 }, { 3, 3, 7, 28, 53, 2 }, { 2, 2, 6, 28, 53, 2 }, { 1, 1, 6, 28, 53, 2 }, + { 0, 0, 6, 28, 53, 2 }, { -1, -1, 6, 28, 53, 2 }, { -2, -2, 5, 28, 53, 2 }, { -3, -3, 5, 28, 53, 2 }, { -4, -4, 5, 28, 53, 2 }, + { -5, -5, 4, 28, 53, 2 }, { -6, -6, 4, 28, 53, 2 }, { -7, -7, 4, 28, 53, 2 }, { -8, -8, 3, 28, 54, 2 }, { -9, -9, 3, 28, 54, 2 }, + { -10, -10, 3, 28, 54, 2 }, { -11, -11, 2, 28, 54, 2 }, { -12, -12, 2, 28, 54, 2 }, { -13, -13, 1, 28, 54, 2 }, { -14, -14, 1, 28, 54, 2 }, + { -15, -15, 0, 28, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedDown250, { + { 15, 16, 8, 4, 0, 4 }, { 14, 17, 8, 4, 0, 4 }, { 13, 18, 8, 4, 0, 4 }, { 12, 19, 8, 4, 0, 4 }, { 11, 20, 8, 4, 0, 4 }, + { 10, 21, 8, 4, 0, 4 }, { 9, 22, 8, 4, 0, 4 }, { 8, 23, 7, 4, 53, 4 }, { 7, 24, 7, 4, 53, 4 }, { 6, 25, 7, 4, 53, 4 }, + { 5, 26, 7, 4, 53, 4 }, { 4, 27, 7, 4, 53, 4 }, { 3, 28, 7, 4, 53, 4 }, { 2, 29, 6, 4, 53, 4 }, { 1, 30, 6, 4, 53, 4 }, + { 0, 31, 6, 4, 53, 4 }, { -1, 32, 6, 4, 53, 4 }, { -2, 33, 5, 4, 53, 4 }, { -3, 34, 5, 4, 53, 4 }, { -4, 35, 5, 4, 53, 4 }, + { -5, 36, 4, 4, 53, 4 }, { -6, 37, 4, 4, 53, 4 }, { -7, 38, 4, 4, 53, 4 }, { -8, 39, 3, 4, 54, 4 }, { -9, 40, 3, 4, 54, 4 }, + { -10, 41, 3, 4, 54, 4 }, { -11, 42, 2, 4, 54, 4 }, { -12, 43, 2, 4, 54, 4 }, { -13, 44, 1, 4, 54, 4 }, { -14, 45, 1, 4, 54, 4 }, + { -15, 46, 0, 4, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedDown251, { + { 16, 16, 8, 12, 0, 4 }, { 17, 17, 8, 12, 0, 4 }, { 18, 18, 8, 12, 0, 4 }, { 19, 19, 8, 12, 0, 4 }, { 20, 20, 8, 12, 0, 4 }, + { 21, 21, 8, 12, 0, 4 }, { 22, 22, 8, 12, 0, 4 }, { 23, 23, 8, 12, 0, 4 }, { 24, 24, 7, 12, 53, 4 }, { 25, 25, 7, 12, 53, 4 }, + { 26, 26, 7, 12, 53, 4 }, { 27, 27, 7, 12, 53, 4 }, { 28, 28, 7, 12, 53, 4 }, { 29, 29, 7, 12, 53, 4 }, { 30, 30, 6, 12, 53, 4 }, + { 31, 31, 6, 12, 53, 4 }, { 32, 32, 6, 12, 53, 4 }, { 33, 33, 6, 12, 53, 4 }, { 34, 34, 5, 12, 53, 4 }, { 35, 35, 5, 12, 53, 4 }, + { 36, 36, 5, 12, 53, 4 }, { 37, 37, 4, 12, 53, 4 }, { 38, 38, 4, 12, 53, 4 }, { 39, 39, 4, 12, 53, 4 }, { 40, 40, 3, 12, 54, 4 }, + { 41, 41, 3, 12, 54, 4 }, { 42, 42, 3, 12, 54, 4 }, { 43, 43, 2, 12, 54, 4 }, { 44, 44, 2, 12, 54, 4 }, { 45, 45, 1, 12, 54, 4 }, + { 46, 46, 1, 12, 54, 4 }, { 47, 47, 0, 12, 54, 4 }, { 48, 48, 0, 12, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedDown252, { + { 16, 15, 8, 20, 0, 4 }, { 17, 14, 8, 20, 0, 4 }, { 18, 13, 8, 20, 0, 4 }, { 19, 12, 8, 20, 0, 4 }, { 20, 11, 8, 20, 0, 4 }, + { 21, 10, 8, 20, 0, 4 }, { 22, 9, 8, 20, 0, 4 }, { 23, 8, 8, 20, 0, 4 }, { 24, 7, 7, 20, 53, 4 }, { 25, 6, 7, 20, 53, 4 }, + { 26, 5, 7, 20, 53, 4 }, { 27, 4, 7, 20, 53, 4 }, { 28, 3, 7, 20, 53, 4 }, { 29, 2, 7, 20, 53, 4 }, { 30, 1, 6, 20, 53, 4 }, + { 31, 0, 6, 20, 53, 4 }, { 32, -1, 6, 20, 53, 4 }, { 33, -2, 6, 20, 53, 4 }, { 34, -3, 5, 20, 53, 4 }, { 35, -4, 5, 20, 53, 4 }, + { 36, -5, 5, 20, 53, 4 }, { 37, -6, 4, 20, 53, 4 }, { 38, -7, 4, 20, 53, 4 }, { 39, -8, 4, 20, 53, 4 }, { 40, -9, 3, 20, 54, 4 }, + { 41, -10, 3, 20, 54, 4 }, { 42, -11, 3, 20, 54, 4 }, { 43, -12, 2, 20, 54, 4 }, { 44, -13, 2, 20, 54, 4 }, { 45, -14, 1, 20, 54, 4 }, + { 46, -15, 1, 20, 54, 4 }, { 47, -16, 0, 20, 54, 4 }, { 48, -17, 0, 20, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedFlatToRightBankedDown253, { + { 15, 15, 8, 28, 0, 4 }, { 14, 14, 8, 28, 0, 4 }, { 13, 13, 8, 28, 0, 4 }, { 12, 12, 8, 28, 0, 4 }, { 11, 11, 8, 28, 0, 4 }, + { 10, 10, 8, 28, 0, 4 }, { 9, 9, 8, 28, 0, 4 }, { 8, 8, 7, 28, 53, 4 }, { 7, 7, 7, 28, 53, 4 }, { 6, 6, 7, 28, 53, 4 }, + { 5, 5, 7, 28, 53, 4 }, { 4, 4, 7, 28, 53, 4 }, { 3, 3, 7, 28, 53, 4 }, { 2, 2, 6, 28, 53, 4 }, { 1, 1, 6, 28, 53, 4 }, + { 0, 0, 6, 28, 53, 4 }, { -1, -1, 6, 28, 53, 4 }, { -2, -2, 5, 28, 53, 4 }, { -3, -3, 5, 28, 53, 4 }, { -4, -4, 5, 28, 53, 4 }, + { -5, -5, 4, 28, 53, 4 }, { -6, -6, 4, 28, 53, 4 }, { -7, -7, 4, 28, 53, 4 }, { -8, -8, 3, 28, 54, 4 }, { -9, -9, 3, 28, 54, 4 }, + { -10, -10, 3, 28, 54, 4 }, { -11, -11, 2, 28, 54, 4 }, { -12, -12, 2, 28, 54, 4 }, { -13, -13, 1, 28, 54, 4 }, { -14, -14, 1, 28, 54, 4 }, + { -15, -15, 0, 28, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat0, { + { 15, 16, 7, 4, 54, 2 }, { 14, 17, 7, 4, 54, 2 }, { 13, 18, 6, 4, 54, 2 }, { 12, 19, 6, 4, 54, 2 }, { 11, 20, 6, 4, 54, 2 }, + { 10, 21, 5, 4, 54, 2 }, { 9, 22, 5, 4, 54, 2 }, { 8, 23, 4, 4, 53, 2 }, { 7, 24, 4, 4, 53, 2 }, { 6, 25, 4, 4, 53, 2 }, + { 5, 26, 3, 4, 53, 2 }, { 4, 27, 3, 4, 53, 2 }, { 3, 28, 3, 4, 53, 2 }, { 2, 29, 2, 4, 53, 2 }, { 1, 30, 2, 4, 53, 2 }, + { 0, 31, 2, 4, 53, 2 }, { -1, 32, 2, 4, 53, 2 }, { -2, 33, 1, 4, 53, 2 }, { -3, 34, 1, 4, 53, 2 }, { -4, 35, 1, 4, 53, 2 }, + { -5, 36, 1, 4, 53, 2 }, { -6, 37, 1, 4, 53, 2 }, { -7, 38, 1, 4, 53, 2 }, { -8, 39, 0, 4, 0, 2 }, { -9, 40, 0, 4, 0, 2 }, + { -10, 41, 0, 4, 0, 2 }, { -11, 42, 0, 4, 0, 2 }, { -12, 43, 0, 4, 0, 2 }, { -13, 44, 0, 4, 0, 2 }, { -14, 45, 0, 4, 0, 2 }, + { -15, 46, 0, 4, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat1, { + { 16, 16, 8, 12, 54, 2 }, { 17, 17, 7, 12, 54, 2 }, { 18, 18, 7, 12, 54, 2 }, { 19, 19, 6, 12, 54, 2 }, { 20, 20, 6, 12, 54, 2 }, + { 21, 21, 6, 12, 54, 2 }, { 22, 22, 5, 12, 54, 2 }, { 23, 23, 5, 12, 54, 2 }, { 24, 24, 4, 12, 53, 2 }, { 25, 25, 4, 12, 53, 2 }, + { 26, 26, 4, 12, 53, 2 }, { 27, 27, 3, 12, 53, 2 }, { 28, 28, 3, 12, 53, 2 }, { 29, 29, 3, 12, 53, 2 }, { 30, 30, 2, 12, 53, 2 }, + { 31, 31, 2, 12, 53, 2 }, { 32, 32, 2, 12, 53, 2 }, { 33, 33, 2, 12, 53, 2 }, { 34, 34, 1, 12, 53, 2 }, { 35, 35, 1, 12, 53, 2 }, + { 36, 36, 1, 12, 53, 2 }, { 37, 37, 1, 12, 53, 2 }, { 38, 38, 1, 12, 53, 2 }, { 39, 39, 1, 12, 53, 2 }, { 40, 40, 0, 12, 0, 2 }, + { 41, 41, 0, 12, 0, 2 }, { 42, 42, 0, 12, 0, 2 }, { 43, 43, 0, 12, 0, 2 }, { 44, 44, 0, 12, 0, 2 }, { 45, 45, 0, 12, 0, 2 }, + { 46, 46, 0, 12, 0, 2 }, { 47, 47, 0, 12, 0, 2 }, { 48, 48, 0, 12, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat2, { + { 16, 15, 8, 20, 54, 2 }, { 17, 14, 7, 20, 54, 2 }, { 18, 13, 7, 20, 54, 2 }, { 19, 12, 6, 20, 54, 2 }, { 20, 11, 6, 20, 54, 2 }, + { 21, 10, 6, 20, 54, 2 }, { 22, 9, 5, 20, 54, 2 }, { 23, 8, 5, 20, 54, 2 }, { 24, 7, 4, 20, 53, 2 }, { 25, 6, 4, 20, 53, 2 }, + { 26, 5, 4, 20, 53, 2 }, { 27, 4, 3, 20, 53, 2 }, { 28, 3, 3, 20, 53, 2 }, { 29, 2, 3, 20, 53, 2 }, { 30, 1, 2, 20, 53, 2 }, + { 31, 0, 2, 20, 53, 2 }, { 32, -1, 2, 20, 53, 2 }, { 33, -2, 2, 20, 53, 2 }, { 34, -3, 1, 20, 53, 2 }, { 35, -4, 1, 20, 53, 2 }, + { 36, -5, 1, 20, 53, 2 }, { 37, -6, 1, 20, 53, 2 }, { 38, -7, 1, 20, 53, 2 }, { 39, -8, 1, 20, 53, 2 }, { 40, -9, 0, 20, 0, 2 }, + { 41, -10, 0, 20, 0, 2 }, { 42, -11, 0, 20, 0, 2 }, { 43, -12, 0, 20, 0, 2 }, { 44, -13, 0, 20, 0, 2 }, { 45, -14, 0, 20, 0, 2 }, + { 46, -15, 0, 20, 0, 2 }, { 47, -16, 0, 20, 0, 2 }, { 48, -17, 0, 20, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat3, { + { 15, 15, 7, 28, 54, 2 }, { 14, 14, 7, 28, 54, 2 }, { 13, 13, 6, 28, 54, 2 }, { 12, 12, 6, 28, 54, 2 }, { 11, 11, 6, 28, 54, 2 }, + { 10, 10, 5, 28, 54, 2 }, { 9, 9, 5, 28, 54, 2 }, { 8, 8, 4, 28, 53, 2 }, { 7, 7, 4, 28, 53, 2 }, { 6, 6, 4, 28, 53, 2 }, + { 5, 5, 3, 28, 53, 2 }, { 4, 4, 3, 28, 53, 2 }, { 3, 3, 3, 28, 53, 2 }, { 2, 2, 2, 28, 53, 2 }, { 1, 1, 2, 28, 53, 2 }, + { 0, 0, 2, 28, 53, 2 }, { -1, -1, 2, 28, 53, 2 }, { -2, -2, 1, 28, 53, 2 }, { -3, -3, 1, 28, 53, 2 }, { -4, -4, 1, 28, 53, 2 }, + { -5, -5, 1, 28, 53, 2 }, { -6, -6, 1, 28, 53, 2 }, { -7, -7, 1, 28, 53, 2 }, { -8, -8, 0, 28, 0, 2 }, { -9, -9, 0, 28, 0, 2 }, + { -10, -10, 0, 28, 0, 2 }, { -11, -11, 0, 28, 0, 2 }, { -12, -12, 0, 28, 0, 2 }, { -13, -13, 0, 28, 0, 2 }, { -14, -14, 0, 28, 0, 2 }, + { -15, -15, 0, 28, 0, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat0, { + { 15, 16, 7, 4, 54, 4 }, { 14, 17, 7, 4, 54, 4 }, { 13, 18, 6, 4, 54, 4 }, { 12, 19, 6, 4, 54, 4 }, { 11, 20, 6, 4, 54, 4 }, + { 10, 21, 5, 4, 54, 4 }, { 9, 22, 5, 4, 54, 4 }, { 8, 23, 4, 4, 53, 4 }, { 7, 24, 4, 4, 53, 4 }, { 6, 25, 4, 4, 53, 4 }, + { 5, 26, 3, 4, 53, 4 }, { 4, 27, 3, 4, 53, 4 }, { 3, 28, 3, 4, 53, 4 }, { 2, 29, 2, 4, 53, 4 }, { 1, 30, 2, 4, 53, 4 }, + { 0, 31, 2, 4, 53, 4 }, { -1, 32, 2, 4, 53, 4 }, { -2, 33, 1, 4, 53, 4 }, { -3, 34, 1, 4, 53, 4 }, { -4, 35, 1, 4, 53, 4 }, + { -5, 36, 1, 4, 53, 4 }, { -6, 37, 1, 4, 53, 4 }, { -7, 38, 1, 4, 53, 4 }, { -8, 39, 0, 4, 0, 4 }, { -9, 40, 0, 4, 0, 4 }, + { -10, 41, 0, 4, 0, 4 }, { -11, 42, 0, 4, 0, 4 }, { -12, 43, 0, 4, 0, 4 }, { -13, 44, 0, 4, 0, 4 }, { -14, 45, 0, 4, 0, 4 }, + { -15, 46, 0, 4, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat1, { + { 16, 16, 8, 12, 54, 4 }, { 17, 17, 7, 12, 54, 4 }, { 18, 18, 7, 12, 54, 4 }, { 19, 19, 6, 12, 54, 4 }, { 20, 20, 6, 12, 54, 4 }, + { 21, 21, 6, 12, 54, 4 }, { 22, 22, 5, 12, 54, 4 }, { 23, 23, 5, 12, 54, 4 }, { 24, 24, 4, 12, 53, 4 }, { 25, 25, 4, 12, 53, 4 }, + { 26, 26, 4, 12, 53, 4 }, { 27, 27, 3, 12, 53, 4 }, { 28, 28, 3, 12, 53, 4 }, { 29, 29, 3, 12, 53, 4 }, { 30, 30, 2, 12, 53, 4 }, + { 31, 31, 2, 12, 53, 4 }, { 32, 32, 2, 12, 53, 4 }, { 33, 33, 2, 12, 53, 4 }, { 34, 34, 1, 12, 53, 4 }, { 35, 35, 1, 12, 53, 4 }, + { 36, 36, 1, 12, 53, 4 }, { 37, 37, 1, 12, 53, 4 }, { 38, 38, 1, 12, 53, 4 }, { 39, 39, 1, 12, 53, 4 }, { 40, 40, 0, 12, 0, 4 }, + { 41, 41, 0, 12, 0, 4 }, { 42, 42, 0, 12, 0, 4 }, { 43, 43, 0, 12, 0, 4 }, { 44, 44, 0, 12, 0, 4 }, { 45, 45, 0, 12, 0, 4 }, + { 46, 46, 0, 12, 0, 4 }, { 47, 47, 0, 12, 0, 4 }, { 48, 48, 0, 12, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat2, { + { 16, 15, 8, 20, 54, 4 }, { 17, 14, 7, 20, 54, 4 }, { 18, 13, 7, 20, 54, 4 }, { 19, 12, 6, 20, 54, 4 }, { 20, 11, 6, 20, 54, 4 }, + { 21, 10, 6, 20, 54, 4 }, { 22, 9, 5, 20, 54, 4 }, { 23, 8, 5, 20, 54, 4 }, { 24, 7, 4, 20, 53, 4 }, { 25, 6, 4, 20, 53, 4 }, + { 26, 5, 4, 20, 53, 4 }, { 27, 4, 3, 20, 53, 4 }, { 28, 3, 3, 20, 53, 4 }, { 29, 2, 3, 20, 53, 4 }, { 30, 1, 2, 20, 53, 4 }, + { 31, 0, 2, 20, 53, 4 }, { 32, -1, 2, 20, 53, 4 }, { 33, -2, 2, 20, 53, 4 }, { 34, -3, 1, 20, 53, 4 }, { 35, -4, 1, 20, 53, 4 }, + { 36, -5, 1, 20, 53, 4 }, { 37, -6, 1, 20, 53, 4 }, { 38, -7, 1, 20, 53, 4 }, { 39, -8, 1, 20, 53, 4 }, { 40, -9, 0, 20, 0, 4 }, + { 41, -10, 0, 20, 0, 4 }, { 42, -11, 0, 20, 0, 4 }, { 43, -12, 0, 20, 0, 4 }, { 44, -13, 0, 20, 0, 4 }, { 45, -14, 0, 20, 0, 4 }, + { 46, -15, 0, 20, 0, 4 }, { 47, -16, 0, 20, 0, 4 }, { 48, -17, 0, 20, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat3, { + { 15, 15, 7, 28, 54, 4 }, { 14, 14, 7, 28, 54, 4 }, { 13, 13, 6, 28, 54, 4 }, { 12, 12, 6, 28, 54, 4 }, { 11, 11, 6, 28, 54, 4 }, + { 10, 10, 5, 28, 54, 4 }, { 9, 9, 5, 28, 54, 4 }, { 8, 8, 4, 28, 53, 4 }, { 7, 7, 4, 28, 53, 4 }, { 6, 6, 4, 28, 53, 4 }, + { 5, 5, 3, 28, 53, 4 }, { 4, 4, 3, 28, 53, 4 }, { 3, 3, 3, 28, 53, 4 }, { 2, 2, 2, 28, 53, 4 }, { 1, 1, 2, 28, 53, 4 }, + { 0, 0, 2, 28, 53, 4 }, { -1, -1, 2, 28, 53, 4 }, { -2, -2, 1, 28, 53, 4 }, { -3, -3, 1, 28, 53, 4 }, { -4, -4, 1, 28, 53, 4 }, + { -5, -5, 1, 28, 53, 4 }, { -6, -6, 1, 28, 53, 4 }, { -7, -7, 1, 28, 53, 4 }, { -8, -8, 0, 28, 0, 4 }, { -9, -9, 0, 28, 0, 4 }, + { -10, -10, 0, 28, 0, 4 }, { -11, -11, 0, 28, 0, 4 }, { -12, -12, 0, 28, 0, 4 }, { -13, -13, 0, 28, 0, 4 }, { -14, -14, 0, 28, 0, 4 }, + { -15, -15, 0, 28, 0, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25LeftBanked0, { + { 15, 16, 1, 4, 51, 2 }, { 14, 17, 1, 4, 51, 2 }, { 13, 18, 2, 4, 51, 2 }, { 12, 19, 2, 4, 51, 2 }, { 11, 20, 3, 4, 51, 2 }, + { 10, 21, 3, 4, 51, 2 }, { 9, 22, 4, 4, 51, 2 }, { 8, 23, 4, 4, 51, 2 }, { 7, 24, 5, 4, 51, 2 }, { 6, 25, 5, 4, 51, 2 }, + { 5, 26, 6, 4, 51, 2 }, { 4, 27, 6, 4, 51, 2 }, { 3, 28, 7, 4, 51, 2 }, { 2, 29, 7, 4, 51, 2 }, { 1, 30, 8, 4, 51, 2 }, + { 0, 31, 8, 4, 51, 2 }, { -1, 32, 9, 4, 51, 2 }, { -2, 33, 9, 4, 51, 2 }, { -3, 34, 10, 4, 51, 2 }, { -4, 35, 10, 4, 51, 2 }, + { -5, 36, 11, 4, 51, 2 }, { -6, 37, 11, 4, 51, 2 }, { -7, 38, 12, 4, 51, 2 }, { -8, 39, 12, 4, 51, 2 }, { -9, 40, 13, 4, 51, 2 }, + { -10, 41, 13, 4, 51, 2 }, { -11, 42, 14, 4, 51, 2 }, { -12, 43, 14, 4, 51, 2 }, { -13, 44, 15, 4, 51, 2 }, { -14, 45, 15, 4, 51, 2 }, + { -15, 46, 16, 4, 51, 2 }, { -16, 47, 16, 4, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25LeftBanked1, { + { 16, 16, 0, 12, 51, 2 }, { 17, 17, 1, 12, 51, 2 }, { 18, 18, 1, 12, 51, 2 }, { 19, 19, 2, 12, 51, 2 }, { 20, 20, 2, 12, 51, 2 }, + { 21, 21, 3, 12, 51, 2 }, { 22, 22, 3, 12, 51, 2 }, { 23, 23, 4, 12, 51, 2 }, { 24, 24, 4, 12, 51, 2 }, { 25, 25, 5, 12, 51, 2 }, + { 26, 26, 5, 12, 51, 2 }, { 27, 27, 6, 12, 51, 2 }, { 28, 28, 6, 12, 51, 2 }, { 29, 29, 7, 12, 51, 2 }, { 30, 30, 7, 12, 51, 2 }, + { 31, 31, 8, 12, 51, 2 }, { 32, 32, 8, 12, 51, 2 }, { 33, 33, 9, 12, 51, 2 }, { 34, 34, 9, 12, 51, 2 }, { 35, 35, 10, 12, 51, 2 }, + { 36, 36, 10, 12, 51, 2 }, { 37, 37, 11, 12, 51, 2 }, { 38, 38, 11, 12, 51, 2 }, { 39, 39, 12, 12, 51, 2 }, { 40, 40, 12, 12, 51, 2 }, + { 41, 41, 13, 12, 51, 2 }, { 42, 42, 13, 12, 51, 2 }, { 43, 43, 14, 12, 51, 2 }, { 44, 44, 14, 12, 51, 2 }, { 45, 45, 15, 12, 51, 2 }, + { 46, 46, 15, 12, 51, 2 }, { 47, 47, 16, 12, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25LeftBanked2, { + { 16, 15, 0, 20, 51, 2 }, { 17, 14, 1, 20, 51, 2 }, { 18, 13, 1, 20, 51, 2 }, { 19, 12, 2, 20, 51, 2 }, { 20, 11, 2, 20, 51, 2 }, + { 21, 10, 3, 20, 51, 2 }, { 22, 9, 3, 20, 51, 2 }, { 23, 8, 4, 20, 51, 2 }, { 24, 7, 4, 20, 51, 2 }, { 25, 6, 5, 20, 51, 2 }, + { 26, 5, 5, 20, 51, 2 }, { 27, 4, 6, 20, 51, 2 }, { 28, 3, 6, 20, 51, 2 }, { 29, 2, 7, 20, 51, 2 }, { 30, 1, 7, 20, 51, 2 }, + { 31, 0, 8, 20, 51, 2 }, { 32, -1, 8, 20, 51, 2 }, { 33, -2, 9, 20, 51, 2 }, { 34, -3, 9, 20, 51, 2 }, { 35, -4, 10, 20, 51, 2 }, + { 36, -5, 10, 20, 51, 2 }, { 37, -6, 11, 20, 51, 2 }, { 38, -7, 11, 20, 51, 2 }, { 39, -8, 12, 20, 51, 2 }, { 40, -9, 12, 20, 51, 2 }, + { 41, -10, 13, 20, 51, 2 }, { 42, -11, 13, 20, 51, 2 }, { 43, -12, 14, 20, 51, 2 }, { 44, -13, 14, 20, 51, 2 }, { 45, -14, 15, 20, 51, 2 }, + { 46, -15, 15, 20, 51, 2 }, { 47, -16, 16, 20, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25LeftBanked3, { + { 15, 15, 1, 28, 51, 2 }, { 14, 14, 1, 28, 51, 2 }, { 13, 13, 2, 28, 51, 2 }, { 12, 12, 2, 28, 51, 2 }, { 11, 11, 3, 28, 51, 2 }, + { 10, 10, 3, 28, 51, 2 }, { 9, 9, 4, 28, 51, 2 }, { 8, 8, 4, 28, 51, 2 }, { 7, 7, 5, 28, 51, 2 }, { 6, 6, 5, 28, 51, 2 }, + { 5, 5, 6, 28, 51, 2 }, { 4, 4, 6, 28, 51, 2 }, { 3, 3, 7, 28, 51, 2 }, { 2, 2, 7, 28, 51, 2 }, { 1, 1, 8, 28, 51, 2 }, + { 0, 0, 8, 28, 51, 2 }, { -1, -1, 9, 28, 51, 2 }, { -2, -2, 9, 28, 51, 2 }, { -3, -3, 10, 28, 51, 2 }, { -4, -4, 10, 28, 51, 2 }, + { -5, -5, 11, 28, 51, 2 }, { -6, -6, 11, 28, 51, 2 }, { -7, -7, 12, 28, 51, 2 }, { -8, -8, 12, 28, 51, 2 }, { -9, -9, 13, 28, 51, 2 }, + { -10, -10, 13, 28, 51, 2 }, { -11, -11, 14, 28, 51, 2 }, { -12, -12, 14, 28, 51, 2 }, { -13, -13, 15, 28, 51, 2 }, { -14, -14, 15, 28, 51, 2 }, + { -15, -15, 16, 28, 51, 2 }, { -16, -16, 16, 28, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25RightBanked0, { + { 15, 16, 1, 4, 51, 4 }, { 14, 17, 1, 4, 51, 4 }, { 13, 18, 2, 4, 51, 4 }, { 12, 19, 2, 4, 51, 4 }, { 11, 20, 3, 4, 51, 4 }, + { 10, 21, 3, 4, 51, 4 }, { 9, 22, 4, 4, 51, 4 }, { 8, 23, 4, 4, 51, 4 }, { 7, 24, 5, 4, 51, 4 }, { 6, 25, 5, 4, 51, 4 }, + { 5, 26, 6, 4, 51, 4 }, { 4, 27, 6, 4, 51, 4 }, { 3, 28, 7, 4, 51, 4 }, { 2, 29, 7, 4, 51, 4 }, { 1, 30, 8, 4, 51, 4 }, + { 0, 31, 8, 4, 51, 4 }, { -1, 32, 9, 4, 51, 4 }, { -2, 33, 9, 4, 51, 4 }, { -3, 34, 10, 4, 51, 4 }, { -4, 35, 10, 4, 51, 4 }, + { -5, 36, 11, 4, 51, 4 }, { -6, 37, 11, 4, 51, 4 }, { -7, 38, 12, 4, 51, 4 }, { -8, 39, 12, 4, 51, 4 }, { -9, 40, 13, 4, 51, 4 }, + { -10, 41, 13, 4, 51, 4 }, { -11, 42, 14, 4, 51, 4 }, { -12, 43, 14, 4, 51, 4 }, { -13, 44, 15, 4, 51, 4 }, { -14, 45, 15, 4, 51, 4 }, + { -15, 46, 16, 4, 51, 4 }, { -16, 47, 16, 4, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25RightBanked1, { + { 16, 16, 0, 12, 51, 4 }, { 17, 17, 1, 12, 51, 4 }, { 18, 18, 1, 12, 51, 4 }, { 19, 19, 2, 12, 51, 4 }, { 20, 20, 2, 12, 51, 4 }, + { 21, 21, 3, 12, 51, 4 }, { 22, 22, 3, 12, 51, 4 }, { 23, 23, 4, 12, 51, 4 }, { 24, 24, 4, 12, 51, 4 }, { 25, 25, 5, 12, 51, 4 }, + { 26, 26, 5, 12, 51, 4 }, { 27, 27, 6, 12, 51, 4 }, { 28, 28, 6, 12, 51, 4 }, { 29, 29, 7, 12, 51, 4 }, { 30, 30, 7, 12, 51, 4 }, + { 31, 31, 8, 12, 51, 4 }, { 32, 32, 8, 12, 51, 4 }, { 33, 33, 9, 12, 51, 4 }, { 34, 34, 9, 12, 51, 4 }, { 35, 35, 10, 12, 51, 4 }, + { 36, 36, 10, 12, 51, 4 }, { 37, 37, 11, 12, 51, 4 }, { 38, 38, 11, 12, 51, 4 }, { 39, 39, 12, 12, 51, 4 }, { 40, 40, 12, 12, 51, 4 }, + { 41, 41, 13, 12, 51, 4 }, { 42, 42, 13, 12, 51, 4 }, { 43, 43, 14, 12, 51, 4 }, { 44, 44, 14, 12, 51, 4 }, { 45, 45, 15, 12, 51, 4 }, + { 46, 46, 15, 12, 51, 4 }, { 47, 47, 16, 12, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25RightBanked2, { + { 16, 15, 0, 20, 51, 4 }, { 17, 14, 1, 20, 51, 4 }, { 18, 13, 1, 20, 51, 4 }, { 19, 12, 2, 20, 51, 4 }, { 20, 11, 2, 20, 51, 4 }, + { 21, 10, 3, 20, 51, 4 }, { 22, 9, 3, 20, 51, 4 }, { 23, 8, 4, 20, 51, 4 }, { 24, 7, 4, 20, 51, 4 }, { 25, 6, 5, 20, 51, 4 }, + { 26, 5, 5, 20, 51, 4 }, { 27, 4, 6, 20, 51, 4 }, { 28, 3, 6, 20, 51, 4 }, { 29, 2, 7, 20, 51, 4 }, { 30, 1, 7, 20, 51, 4 }, + { 31, 0, 8, 20, 51, 4 }, { 32, -1, 8, 20, 51, 4 }, { 33, -2, 9, 20, 51, 4 }, { 34, -3, 9, 20, 51, 4 }, { 35, -4, 10, 20, 51, 4 }, + { 36, -5, 10, 20, 51, 4 }, { 37, -6, 11, 20, 51, 4 }, { 38, -7, 11, 20, 51, 4 }, { 39, -8, 12, 20, 51, 4 }, { 40, -9, 12, 20, 51, 4 }, + { 41, -10, 13, 20, 51, 4 }, { 42, -11, 13, 20, 51, 4 }, { 43, -12, 14, 20, 51, 4 }, { 44, -13, 14, 20, 51, 4 }, { 45, -14, 15, 20, 51, 4 }, + { 46, -15, 15, 20, 51, 4 }, { 47, -16, 16, 20, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagUp25RightBanked3, { + { 15, 15, 1, 28, 51, 4 }, { 14, 14, 1, 28, 51, 4 }, { 13, 13, 2, 28, 51, 4 }, { 12, 12, 2, 28, 51, 4 }, { 11, 11, 3, 28, 51, 4 }, + { 10, 10, 3, 28, 51, 4 }, { 9, 9, 4, 28, 51, 4 }, { 8, 8, 4, 28, 51, 4 }, { 7, 7, 5, 28, 51, 4 }, { 6, 6, 5, 28, 51, 4 }, + { 5, 5, 6, 28, 51, 4 }, { 4, 4, 6, 28, 51, 4 }, { 3, 3, 7, 28, 51, 4 }, { 2, 2, 7, 28, 51, 4 }, { 1, 1, 8, 28, 51, 4 }, + { 0, 0, 8, 28, 51, 4 }, { -1, -1, 9, 28, 51, 4 }, { -2, -2, 9, 28, 51, 4 }, { -3, -3, 10, 28, 51, 4 }, { -4, -4, 10, 28, 51, 4 }, + { -5, -5, 11, 28, 51, 4 }, { -6, -6, 11, 28, 51, 4 }, { -7, -7, 12, 28, 51, 4 }, { -8, -8, 12, 28, 51, 4 }, { -9, -9, 13, 28, 51, 4 }, + { -10, -10, 13, 28, 51, 4 }, { -11, -11, 14, 28, 51, 4 }, { -12, -12, 14, 28, 51, 4 }, { -13, -13, 15, 28, 51, 4 }, { -14, -14, 15, 28, 51, 4 }, + { -15, -15, 16, 28, 51, 4 }, { -16, -16, 16, 28, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25LeftBanked0, { + { 15, 16, 15, 4, 54, 2 }, { 14, 17, 15, 4, 54, 2 }, { 13, 18, 14, 4, 54, 2 }, { 12, 19, 14, 4, 54, 2 }, { 11, 20, 13, 4, 54, 2 }, + { 10, 21, 13, 4, 54, 2 }, { 9, 22, 12, 4, 54, 2 }, { 8, 23, 12, 4, 54, 2 }, { 7, 24, 11, 4, 54, 2 }, { 6, 25, 11, 4, 54, 2 }, + { 5, 26, 10, 4, 54, 2 }, { 4, 27, 10, 4, 54, 2 }, { 3, 28, 9, 4, 54, 2 }, { 2, 29, 9, 4, 54, 2 }, { 1, 30, 8, 4, 54, 2 }, + { 0, 31, 8, 4, 54, 2 }, { -1, 32, 7, 4, 54, 2 }, { -2, 33, 7, 4, 54, 2 }, { -3, 34, 6, 4, 54, 2 }, { -4, 35, 6, 4, 54, 2 }, + { -5, 36, 5, 4, 54, 2 }, { -6, 37, 5, 4, 54, 2 }, { -7, 38, 4, 4, 54, 2 }, { -8, 39, 4, 4, 54, 2 }, { -9, 40, 3, 4, 54, 2 }, + { -10, 41, 3, 4, 54, 2 }, { -11, 42, 2, 4, 54, 2 }, { -12, 43, 2, 4, 54, 2 }, { -13, 44, 1, 4, 54, 2 }, { -14, 45, 1, 4, 54, 2 }, + { -15, 46, 0, 4, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25LeftBanked1, { + { 16, 16, 16, 12, 54, 2 }, { 17, 17, 15, 12, 54, 2 }, { 18, 18, 15, 12, 54, 2 }, { 19, 19, 14, 12, 54, 2 }, { 20, 20, 14, 12, 54, 2 }, + { 21, 21, 13, 12, 54, 2 }, { 22, 22, 13, 12, 54, 2 }, { 23, 23, 12, 12, 54, 2 }, { 24, 24, 12, 12, 54, 2 }, { 25, 25, 11, 12, 54, 2 }, + { 26, 26, 11, 12, 54, 2 }, { 27, 27, 10, 12, 54, 2 }, { 28, 28, 10, 12, 54, 2 }, { 29, 29, 9, 12, 54, 2 }, { 30, 30, 9, 12, 54, 2 }, + { 31, 31, 8, 12, 54, 2 }, { 32, 32, 8, 12, 54, 2 }, { 33, 33, 7, 12, 54, 2 }, { 34, 34, 7, 12, 54, 2 }, { 35, 35, 6, 12, 54, 2 }, + { 36, 36, 6, 12, 54, 2 }, { 37, 37, 5, 12, 54, 2 }, { 38, 38, 5, 12, 54, 2 }, { 39, 39, 4, 12, 54, 2 }, { 40, 40, 4, 12, 54, 2 }, + { 41, 41, 3, 12, 54, 2 }, { 42, 42, 3, 12, 54, 2 }, { 43, 43, 2, 12, 54, 2 }, { 44, 44, 2, 12, 54, 2 }, { 45, 45, 1, 12, 54, 2 }, + { 46, 46, 1, 12, 54, 2 }, { 47, 47, 0, 12, 54, 2 }, { 48, 48, 0, 12, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25LeftBanked2, { + { 16, 15, 16, 20, 54, 2 }, { 17, 14, 15, 20, 54, 2 }, { 18, 13, 15, 20, 54, 2 }, { 19, 12, 14, 20, 54, 2 }, { 20, 11, 14, 20, 54, 2 }, + { 21, 10, 13, 20, 54, 2 }, { 22, 9, 13, 20, 54, 2 }, { 23, 8, 12, 20, 54, 2 }, { 24, 7, 12, 20, 54, 2 }, { 25, 6, 11, 20, 54, 2 }, + { 26, 5, 11, 20, 54, 2 }, { 27, 4, 10, 20, 54, 2 }, { 28, 3, 10, 20, 54, 2 }, { 29, 2, 9, 20, 54, 2 }, { 30, 1, 9, 20, 54, 2 }, + { 31, 0, 8, 20, 54, 2 }, { 32, -1, 8, 20, 54, 2 }, { 33, -2, 7, 20, 54, 2 }, { 34, -3, 7, 20, 54, 2 }, { 35, -4, 6, 20, 54, 2 }, + { 36, -5, 6, 20, 54, 2 }, { 37, -6, 5, 20, 54, 2 }, { 38, -7, 5, 20, 54, 2 }, { 39, -8, 4, 20, 54, 2 }, { 40, -9, 4, 20, 54, 2 }, + { 41, -10, 3, 20, 54, 2 }, { 42, -11, 3, 20, 54, 2 }, { 43, -12, 2, 20, 54, 2 }, { 44, -13, 2, 20, 54, 2 }, { 45, -14, 1, 20, 54, 2 }, + { 46, -15, 1, 20, 54, 2 }, { 47, -16, 0, 20, 54, 2 }, { 48, -17, 0, 20, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25LeftBanked3, { + { 15, 15, 15, 28, 54, 2 }, { 14, 14, 15, 28, 54, 2 }, { 13, 13, 14, 28, 54, 2 }, { 12, 12, 14, 28, 54, 2 }, { 11, 11, 13, 28, 54, 2 }, + { 10, 10, 13, 28, 54, 2 }, { 9, 9, 12, 28, 54, 2 }, { 8, 8, 12, 28, 54, 2 }, { 7, 7, 11, 28, 54, 2 }, { 6, 6, 11, 28, 54, 2 }, + { 5, 5, 10, 28, 54, 2 }, { 4, 4, 10, 28, 54, 2 }, { 3, 3, 9, 28, 54, 2 }, { 2, 2, 9, 28, 54, 2 }, { 1, 1, 8, 28, 54, 2 }, + { 0, 0, 8, 28, 54, 2 }, { -1, -1, 7, 28, 54, 2 }, { -2, -2, 7, 28, 54, 2 }, { -3, -3, 6, 28, 54, 2 }, { -4, -4, 6, 28, 54, 2 }, + { -5, -5, 5, 28, 54, 2 }, { -6, -6, 5, 28, 54, 2 }, { -7, -7, 4, 28, 54, 2 }, { -8, -8, 4, 28, 54, 2 }, { -9, -9, 3, 28, 54, 2 }, + { -10, -10, 3, 28, 54, 2 }, { -11, -11, 2, 28, 54, 2 }, { -12, -12, 2, 28, 54, 2 }, { -13, -13, 1, 28, 54, 2 }, { -14, -14, 1, 28, 54, 2 }, + { -15, -15, 0, 28, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25RightBanked0, { + { 15, 16, 15, 4, 54, 4 }, { 14, 17, 15, 4, 54, 4 }, { 13, 18, 14, 4, 54, 4 }, { 12, 19, 14, 4, 54, 4 }, { 11, 20, 13, 4, 54, 4 }, + { 10, 21, 13, 4, 54, 4 }, { 9, 22, 12, 4, 54, 4 }, { 8, 23, 12, 4, 54, 4 }, { 7, 24, 11, 4, 54, 4 }, { 6, 25, 11, 4, 54, 4 }, + { 5, 26, 10, 4, 54, 4 }, { 4, 27, 10, 4, 54, 4 }, { 3, 28, 9, 4, 54, 4 }, { 2, 29, 9, 4, 54, 4 }, { 1, 30, 8, 4, 54, 4 }, + { 0, 31, 8, 4, 54, 4 }, { -1, 32, 7, 4, 54, 4 }, { -2, 33, 7, 4, 54, 4 }, { -3, 34, 6, 4, 54, 4 }, { -4, 35, 6, 4, 54, 4 }, + { -5, 36, 5, 4, 54, 4 }, { -6, 37, 5, 4, 54, 4 }, { -7, 38, 4, 4, 54, 4 }, { -8, 39, 4, 4, 54, 4 }, { -9, 40, 3, 4, 54, 4 }, + { -10, 41, 3, 4, 54, 4 }, { -11, 42, 2, 4, 54, 4 }, { -12, 43, 2, 4, 54, 4 }, { -13, 44, 1, 4, 54, 4 }, { -14, 45, 1, 4, 54, 4 }, + { -15, 46, 0, 4, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25RightBanked1, { + { 16, 16, 16, 12, 54, 4 }, { 17, 17, 15, 12, 54, 4 }, { 18, 18, 15, 12, 54, 4 }, { 19, 19, 14, 12, 54, 4 }, { 20, 20, 14, 12, 54, 4 }, + { 21, 21, 13, 12, 54, 4 }, { 22, 22, 13, 12, 54, 4 }, { 23, 23, 12, 12, 54, 4 }, { 24, 24, 12, 12, 54, 4 }, { 25, 25, 11, 12, 54, 4 }, + { 26, 26, 11, 12, 54, 4 }, { 27, 27, 10, 12, 54, 4 }, { 28, 28, 10, 12, 54, 4 }, { 29, 29, 9, 12, 54, 4 }, { 30, 30, 9, 12, 54, 4 }, + { 31, 31, 8, 12, 54, 4 }, { 32, 32, 8, 12, 54, 4 }, { 33, 33, 7, 12, 54, 4 }, { 34, 34, 7, 12, 54, 4 }, { 35, 35, 6, 12, 54, 4 }, + { 36, 36, 6, 12, 54, 4 }, { 37, 37, 5, 12, 54, 4 }, { 38, 38, 5, 12, 54, 4 }, { 39, 39, 4, 12, 54, 4 }, { 40, 40, 4, 12, 54, 4 }, + { 41, 41, 3, 12, 54, 4 }, { 42, 42, 3, 12, 54, 4 }, { 43, 43, 2, 12, 54, 4 }, { 44, 44, 2, 12, 54, 4 }, { 45, 45, 1, 12, 54, 4 }, + { 46, 46, 1, 12, 54, 4 }, { 47, 47, 0, 12, 54, 4 }, { 48, 48, 0, 12, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25RightBanked2, { + { 16, 15, 16, 20, 54, 4 }, { 17, 14, 15, 20, 54, 4 }, { 18, 13, 15, 20, 54, 4 }, { 19, 12, 14, 20, 54, 4 }, { 20, 11, 14, 20, 54, 4 }, + { 21, 10, 13, 20, 54, 4 }, { 22, 9, 13, 20, 54, 4 }, { 23, 8, 12, 20, 54, 4 }, { 24, 7, 12, 20, 54, 4 }, { 25, 6, 11, 20, 54, 4 }, + { 26, 5, 11, 20, 54, 4 }, { 27, 4, 10, 20, 54, 4 }, { 28, 3, 10, 20, 54, 4 }, { 29, 2, 9, 20, 54, 4 }, { 30, 1, 9, 20, 54, 4 }, + { 31, 0, 8, 20, 54, 4 }, { 32, -1, 8, 20, 54, 4 }, { 33, -2, 7, 20, 54, 4 }, { 34, -3, 7, 20, 54, 4 }, { 35, -4, 6, 20, 54, 4 }, + { 36, -5, 6, 20, 54, 4 }, { 37, -6, 5, 20, 54, 4 }, { 38, -7, 5, 20, 54, 4 }, { 39, -8, 4, 20, 54, 4 }, { 40, -9, 4, 20, 54, 4 }, + { 41, -10, 3, 20, 54, 4 }, { 42, -11, 3, 20, 54, 4 }, { 43, -12, 2, 20, 54, 4 }, { 44, -13, 2, 20, 54, 4 }, { 45, -14, 1, 20, 54, 4 }, + { 46, -15, 1, 20, 54, 4 }, { 47, -16, 0, 20, 54, 4 }, { 48, -17, 0, 20, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagDown25RightBanked3, { + { 15, 15, 15, 28, 54, 4 }, { 14, 14, 15, 28, 54, 4 }, { 13, 13, 14, 28, 54, 4 }, { 12, 12, 14, 28, 54, 4 }, { 11, 11, 13, 28, 54, 4 }, + { 10, 10, 13, 28, 54, 4 }, { 9, 9, 12, 28, 54, 4 }, { 8, 8, 12, 28, 54, 4 }, { 7, 7, 11, 28, 54, 4 }, { 6, 6, 11, 28, 54, 4 }, + { 5, 5, 10, 28, 54, 4 }, { 4, 4, 10, 28, 54, 4 }, { 3, 3, 9, 28, 54, 4 }, { 2, 2, 9, 28, 54, 4 }, { 1, 1, 8, 28, 54, 4 }, + { 0, 0, 8, 28, 54, 4 }, { -1, -1, 7, 28, 54, 4 }, { -2, -2, 7, 28, 54, 4 }, { -3, -3, 6, 28, 54, 4 }, { -4, -4, 6, 28, 54, 4 }, + { -5, -5, 5, 28, 54, 4 }, { -6, -6, 5, 28, 54, 4 }, { -7, -7, 4, 28, 54, 4 }, { -8, -8, 4, 28, 54, 4 }, { -9, -9, 3, 28, 54, 4 }, + { -10, -10, 3, 28, 54, 4 }, { -11, -11, 2, 28, 54, 4 }, { -12, -12, 2, 28, 54, 4 }, { -13, -13, 1, 28, 54, 4 }, { -14, -14, 1, 28, 54, 4 }, + { -15, -15, 0, 28, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedUp250, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 1, 4, 50, 1 }, { 7, 24, 1, 4, 50, 1 }, { 6, 25, 1, 4, 50, 1 }, + { 5, 26, 1, 4, 50, 1 }, { 4, 27, 1, 4, 50, 1 }, { 3, 28, 1, 4, 50, 1 }, { 2, 29, 2, 4, 50, 1 }, { 1, 30, 2, 4, 50, 1 }, + { 0, 31, 2, 4, 50, 1 }, { -1, 32, 2, 4, 50, 1 }, { -2, 33, 3, 4, 50, 1 }, { -3, 34, 3, 4, 1, 1 }, { -4, 35, 3, 4, 1, 1 }, + { -5, 36, 4, 4, 1, 1 }, { -6, 37, 4, 4, 1, 1 }, { -7, 38, 4, 4, 1, 1 }, { -8, 39, 5, 4, 51, 2 }, { -9, 40, 5, 4, 51, 2 }, + { -10, 41, 5, 4, 51, 2 }, { -11, 42, 6, 4, 51, 2 }, { -12, 43, 6, 4, 51, 2 }, { -13, 44, 7, 4, 51, 2 }, { -14, 45, 7, 4, 51, 2 }, + { -15, 46, 8, 4, 51, 2 }, { -16, 47, 8, 4, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedUp251, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 1, 12, 50, 1 }, { 25, 25, 1, 12, 50, 1 }, + { 26, 26, 1, 12, 50, 1 }, { 27, 27, 1, 12, 50, 1 }, { 28, 28, 1, 12, 50, 1 }, { 29, 29, 1, 12, 50, 1 }, { 30, 30, 2, 12, 50, 1 }, + { 31, 31, 2, 12, 50, 1 }, { 32, 32, 2, 12, 50, 1 }, { 33, 33, 2, 12, 50, 1 }, { 34, 34, 3, 12, 50, 1 }, { 35, 35, 3, 12, 1, 1 }, + { 36, 36, 3, 12, 1, 1 }, { 37, 37, 4, 12, 1, 1 }, { 38, 38, 4, 12, 1, 1 }, { 39, 39, 4, 12, 1, 1 }, { 40, 40, 5, 12, 51, 2 }, + { 41, 41, 5, 12, 51, 2 }, { 42, 42, 5, 12, 51, 2 }, { 43, 43, 6, 12, 51, 2 }, { 44, 44, 6, 12, 51, 2 }, { 45, 45, 7, 12, 51, 2 }, + { 46, 46, 7, 12, 51, 2 }, { 47, 47, 8, 12, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedUp252, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, + { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 1, 20, 50, 1 }, { 25, 6, 1, 20, 50, 1 }, + { 26, 5, 1, 20, 50, 1 }, { 27, 4, 1, 20, 50, 1 }, { 28, 3, 1, 20, 50, 1 }, { 29, 2, 1, 20, 50, 1 }, { 30, 1, 2, 20, 50, 1 }, + { 31, 0, 2, 20, 50, 1 }, { 32, -1, 2, 20, 50, 1 }, { 33, -2, 2, 20, 50, 1 }, { 34, -3, 3, 20, 50, 1 }, { 35, -4, 3, 20, 1, 1 }, + { 36, -5, 3, 20, 1, 1 }, { 37, -6, 4, 20, 1, 1 }, { 38, -7, 4, 20, 1, 1 }, { 39, -8, 4, 20, 1, 1 }, { 40, -9, 5, 20, 51, 2 }, + { 41, -10, 5, 20, 51, 2 }, { 42, -11, 5, 20, 51, 2 }, { 43, -12, 6, 20, 51, 2 }, { 44, -13, 6, 20, 51, 2 }, { 45, -14, 7, 20, 51, 2 }, + { 46, -15, 7, 20, 51, 2 }, { 47, -16, 8, 20, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedUp253, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, + { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 1, 28, 50, 1 }, { 7, 7, 1, 28, 50, 1 }, { 6, 6, 1, 28, 50, 1 }, + { 5, 5, 1, 28, 50, 1 }, { 4, 4, 1, 28, 50, 1 }, { 3, 3, 1, 28, 50, 1 }, { 2, 2, 2, 28, 50, 1 }, { 1, 1, 2, 28, 50, 1 }, + { 0, 0, 2, 28, 50, 1 }, { -1, -1, 2, 28, 50, 1 }, { -2, -2, 3, 28, 50, 1 }, { -3, -3, 3, 28, 1, 1 }, { -4, -4, 3, 28, 1, 1 }, + { -5, -5, 4, 28, 1, 1 }, { -6, -6, 4, 28, 1, 1 }, { -7, -7, 4, 28, 1, 1 }, { -8, -8, 5, 28, 51, 2 }, { -9, -9, 5, 28, 51, 2 }, + { -10, -10, 5, 28, 51, 2 }, { -11, -11, 6, 28, 51, 2 }, { -12, -12, 6, 28, 51, 2 }, { -13, -13, 7, 28, 51, 2 }, { -14, -14, 7, 28, 51, 2 }, + { -15, -15, 8, 28, 51, 2 }, { -16, -16, 8, 28, 51, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedUp250, { + { 15, 16, 0, 4, 0, 0 }, { 14, 17, 0, 4, 0, 0 }, { 13, 18, 0, 4, 0, 0 }, { 12, 19, 0, 4, 0, 0 }, { 11, 20, 0, 4, 0, 0 }, + { 10, 21, 0, 4, 0, 0 }, { 9, 22, 0, 4, 0, 0 }, { 8, 23, 1, 4, 50, 3 }, { 7, 24, 1, 4, 50, 3 }, { 6, 25, 1, 4, 50, 3 }, + { 5, 26, 1, 4, 50, 3 }, { 4, 27, 1, 4, 50, 3 }, { 3, 28, 1, 4, 50, 3 }, { 2, 29, 2, 4, 50, 3 }, { 1, 30, 2, 4, 50, 3 }, + { 0, 31, 2, 4, 50, 3 }, { -1, 32, 2, 4, 50, 3 }, { -2, 33, 3, 4, 50, 3 }, { -3, 34, 3, 4, 1, 3 }, { -4, 35, 3, 4, 1, 3 }, + { -5, 36, 4, 4, 1, 3 }, { -6, 37, 4, 4, 1, 3 }, { -7, 38, 4, 4, 1, 3 }, { -8, 39, 5, 4, 51, 4 }, { -9, 40, 5, 4, 51, 4 }, + { -10, 41, 5, 4, 51, 4 }, { -11, 42, 6, 4, 51, 4 }, { -12, 43, 6, 4, 51, 4 }, { -13, 44, 7, 4, 51, 4 }, { -14, 45, 7, 4, 51, 4 }, + { -15, 46, 8, 4, 51, 4 }, { -16, 47, 8, 4, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedUp251, { + { 16, 16, 0, 12, 0, 0 }, { 17, 17, 0, 12, 0, 0 }, { 18, 18, 0, 12, 0, 0 }, { 19, 19, 0, 12, 0, 0 }, { 20, 20, 0, 12, 0, 0 }, + { 21, 21, 0, 12, 0, 0 }, { 22, 22, 0, 12, 0, 0 }, { 23, 23, 0, 12, 0, 0 }, { 24, 24, 1, 12, 50, 3 }, { 25, 25, 1, 12, 50, 3 }, + { 26, 26, 1, 12, 50, 3 }, { 27, 27, 1, 12, 50, 3 }, { 28, 28, 1, 12, 50, 3 }, { 29, 29, 1, 12, 50, 3 }, { 30, 30, 2, 12, 50, 3 }, + { 31, 31, 2, 12, 50, 3 }, { 32, 32, 2, 12, 50, 3 }, { 33, 33, 2, 12, 50, 3 }, { 34, 34, 3, 12, 50, 3 }, { 35, 35, 3, 12, 1, 3 }, + { 36, 36, 3, 12, 1, 3 }, { 37, 37, 4, 12, 1, 3 }, { 38, 38, 4, 12, 1, 3 }, { 39, 39, 4, 12, 1, 3 }, { 40, 40, 5, 12, 51, 4 }, + { 41, 41, 5, 12, 51, 4 }, { 42, 42, 5, 12, 51, 4 }, { 43, 43, 6, 12, 51, 4 }, { 44, 44, 6, 12, 51, 4 }, { 45, 45, 7, 12, 51, 4 }, + { 46, 46, 7, 12, 51, 4 }, { 47, 47, 8, 12, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedUp252, { + { 16, 15, 0, 20, 0, 0 }, { 17, 14, 0, 20, 0, 0 }, { 18, 13, 0, 20, 0, 0 }, { 19, 12, 0, 20, 0, 0 }, { 20, 11, 0, 20, 0, 0 }, + { 21, 10, 0, 20, 0, 0 }, { 22, 9, 0, 20, 0, 0 }, { 23, 8, 0, 20, 0, 0 }, { 24, 7, 1, 20, 50, 3 }, { 25, 6, 1, 20, 50, 3 }, + { 26, 5, 1, 20, 50, 3 }, { 27, 4, 1, 20, 50, 3 }, { 28, 3, 1, 20, 50, 3 }, { 29, 2, 1, 20, 50, 3 }, { 30, 1, 2, 20, 50, 3 }, + { 31, 0, 2, 20, 50, 3 }, { 32, -1, 2, 20, 50, 3 }, { 33, -2, 2, 20, 50, 3 }, { 34, -3, 3, 20, 50, 3 }, { 35, -4, 3, 20, 1, 3 }, + { 36, -5, 3, 20, 1, 3 }, { 37, -6, 4, 20, 1, 3 }, { 38, -7, 4, 20, 1, 3 }, { 39, -8, 4, 20, 1, 3 }, { 40, -9, 5, 20, 51, 4 }, + { 41, -10, 5, 20, 51, 4 }, { 42, -11, 5, 20, 51, 4 }, { 43, -12, 6, 20, 51, 4 }, { 44, -13, 6, 20, 51, 4 }, { 45, -14, 7, 20, 51, 4 }, + { 46, -15, 7, 20, 51, 4 }, { 47, -16, 8, 20, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedUp253, { + { 15, 15, 0, 28, 0, 0 }, { 14, 14, 0, 28, 0, 0 }, { 13, 13, 0, 28, 0, 0 }, { 12, 12, 0, 28, 0, 0 }, { 11, 11, 0, 28, 0, 0 }, + { 10, 10, 0, 28, 0, 0 }, { 9, 9, 0, 28, 0, 0 }, { 8, 8, 1, 28, 50, 3 }, { 7, 7, 1, 28, 50, 3 }, { 6, 6, 1, 28, 50, 3 }, + { 5, 5, 1, 28, 50, 3 }, { 4, 4, 1, 28, 50, 3 }, { 3, 3, 1, 28, 50, 3 }, { 2, 2, 2, 28, 50, 3 }, { 1, 1, 2, 28, 50, 3 }, + { 0, 0, 2, 28, 50, 3 }, { -1, -1, 2, 28, 50, 3 }, { -2, -2, 3, 28, 50, 3 }, { -3, -3, 3, 28, 1, 3 }, { -4, -4, 3, 28, 1, 3 }, + { -5, -5, 4, 28, 1, 3 }, { -6, -6, 4, 28, 1, 3 }, { -7, -7, 4, 28, 1, 3 }, { -8, -8, 5, 28, 51, 4 }, { -9, -9, 5, 28, 51, 4 }, + { -10, -10, 5, 28, 51, 4 }, { -11, -11, 6, 28, 51, 4 }, { -12, -12, 6, 28, 51, 4 }, { -13, -13, 7, 28, 51, 4 }, { -14, -14, 7, 28, 51, 4 }, + { -15, -15, 8, 28, 51, 4 }, { -16, -16, 8, 28, 51, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToFlat0, { + { 15, 16, 1, 4, 51, 2 }, { 14, 17, 1, 4, 51, 2 }, { 13, 18, 2, 4, 51, 2 }, { 12, 19, 2, 4, 51, 2 }, { 11, 20, 2, 4, 51, 2 }, + { 10, 21, 3, 4, 51, 2 }, { 9, 22, 3, 4, 51, 2 }, { 8, 23, 4, 4, 1, 1 }, { 7, 24, 4, 4, 1, 1 }, { 6, 25, 4, 4, 1, 1 }, + { 5, 26, 5, 4, 1, 1 }, { 4, 27, 5, 4, 1, 1 }, { 3, 28, 5, 4, 50, 1 }, { 2, 29, 6, 4, 50, 1 }, { 1, 30, 6, 4, 50, 1 }, + { 0, 31, 6, 4, 50, 1 }, { -1, 32, 6, 4, 50, 1 }, { -2, 33, 7, 4, 50, 1 }, { -3, 34, 7, 4, 50, 1 }, { -4, 35, 7, 4, 50, 1 }, + { -5, 36, 7, 4, 50, 1 }, { -6, 37, 7, 4, 50, 1 }, { -7, 38, 7, 4, 50, 1 }, { -8, 39, 8, 4, 0, 0 }, { -9, 40, 8, 4, 0, 0 }, + { -10, 41, 8, 4, 0, 0 }, { -11, 42, 8, 4, 0, 0 }, { -12, 43, 8, 4, 0, 0 }, { -13, 44, 8, 4, 0, 0 }, { -14, 45, 8, 4, 0, 0 }, + { -15, 46, 8, 4, 0, 0 }, { -16, 47, 8, 4, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToFlat1, { + { 16, 16, 0, 12, 51, 2 }, { 17, 17, 1, 12, 51, 2 }, { 18, 18, 1, 12, 51, 2 }, { 19, 19, 2, 12, 51, 2 }, { 20, 20, 2, 12, 51, 2 }, + { 21, 21, 2, 12, 51, 2 }, { 22, 22, 3, 12, 51, 2 }, { 23, 23, 3, 12, 51, 2 }, { 24, 24, 4, 12, 1, 1 }, { 25, 25, 4, 12, 1, 1 }, + { 26, 26, 4, 12, 1, 1 }, { 27, 27, 5, 12, 1, 1 }, { 28, 28, 5, 12, 1, 1 }, { 29, 29, 5, 12, 50, 1 }, { 30, 30, 6, 12, 50, 1 }, + { 31, 31, 6, 12, 50, 1 }, { 32, 32, 6, 12, 50, 1 }, { 33, 33, 6, 12, 50, 1 }, { 34, 34, 7, 12, 50, 1 }, { 35, 35, 7, 12, 50, 1 }, + { 36, 36, 7, 12, 50, 1 }, { 37, 37, 7, 12, 50, 1 }, { 38, 38, 7, 12, 50, 1 }, { 39, 39, 7, 12, 50, 1 }, { 40, 40, 8, 12, 0, 0 }, + { 41, 41, 8, 12, 0, 0 }, { 42, 42, 8, 12, 0, 0 }, { 43, 43, 8, 12, 0, 0 }, { 44, 44, 8, 12, 0, 0 }, { 45, 45, 8, 12, 0, 0 }, + { 46, 46, 8, 12, 0, 0 }, { 47, 47, 8, 12, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToFlat2, { + { 16, 15, 0, 20, 51, 2 }, { 17, 14, 1, 20, 51, 2 }, { 18, 13, 1, 20, 51, 2 }, { 19, 12, 2, 20, 51, 2 }, { 20, 11, 2, 20, 51, 2 }, + { 21, 10, 2, 20, 51, 2 }, { 22, 9, 3, 20, 51, 2 }, { 23, 8, 3, 20, 51, 2 }, { 24, 7, 4, 20, 1, 1 }, { 25, 6, 4, 20, 1, 1 }, + { 26, 5, 4, 20, 1, 1 }, { 27, 4, 5, 20, 1, 1 }, { 28, 3, 5, 20, 1, 1 }, { 29, 2, 5, 20, 50, 1 }, { 30, 1, 6, 20, 50, 1 }, + { 31, 0, 6, 20, 50, 1 }, { 32, -1, 6, 20, 50, 1 }, { 33, -2, 6, 20, 50, 1 }, { 34, -3, 7, 20, 50, 1 }, { 35, -4, 7, 20, 50, 1 }, + { 36, -5, 7, 20, 50, 1 }, { 37, -6, 7, 20, 50, 1 }, { 38, -7, 7, 20, 50, 1 }, { 39, -8, 7, 20, 50, 1 }, { 40, -9, 8, 20, 0, 0 }, + { 41, -10, 8, 20, 0, 0 }, { 42, -11, 8, 20, 0, 0 }, { 43, -12, 8, 20, 0, 0 }, { 44, -13, 8, 20, 0, 0 }, { 45, -14, 8, 20, 0, 0 }, + { 46, -15, 8, 20, 0, 0 }, { 47, -16, 8, 20, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedUp25ToFlat3, { + { 15, 15, 1, 28, 51, 2 }, { 14, 14, 1, 28, 51, 2 }, { 13, 13, 2, 28, 51, 2 }, { 12, 12, 2, 28, 51, 2 }, { 11, 11, 2, 28, 51, 2 }, + { 10, 10, 3, 28, 51, 2 }, { 9, 9, 3, 28, 51, 2 }, { 8, 8, 4, 28, 1, 1 }, { 7, 7, 4, 28, 1, 1 }, { 6, 6, 4, 28, 1, 1 }, + { 5, 5, 5, 28, 1, 1 }, { 4, 4, 5, 28, 1, 1 }, { 3, 3, 5, 28, 50, 1 }, { 2, 2, 6, 28, 50, 1 }, { 1, 1, 6, 28, 50, 1 }, + { 0, 0, 6, 28, 50, 1 }, { -1, -1, 6, 28, 50, 1 }, { -2, -2, 7, 28, 50, 1 }, { -3, -3, 7, 28, 50, 1 }, { -4, -4, 7, 28, 50, 1 }, + { -5, -5, 7, 28, 50, 1 }, { -6, -6, 7, 28, 50, 1 }, { -7, -7, 7, 28, 50, 1 }, { -8, -8, 8, 28, 0, 0 }, { -9, -9, 8, 28, 0, 0 }, + { -10, -10, 8, 28, 0, 0 }, { -11, -11, 8, 28, 0, 0 }, { -12, -12, 8, 28, 0, 0 }, { -13, -13, 8, 28, 0, 0 }, { -14, -14, 8, 28, 0, 0 }, + { -15, -15, 8, 28, 0, 0 }, { -16, -16, 8, 28, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToFlat0, { + { 15, 16, 1, 4, 51, 4 }, { 14, 17, 1, 4, 51, 4 }, { 13, 18, 2, 4, 51, 4 }, { 12, 19, 2, 4, 51, 4 }, { 11, 20, 2, 4, 51, 4 }, + { 10, 21, 3, 4, 51, 4 }, { 9, 22, 3, 4, 51, 4 }, { 8, 23, 4, 4, 1, 3 }, { 7, 24, 4, 4, 1, 3 }, { 6, 25, 4, 4, 1, 3 }, + { 5, 26, 5, 4, 1, 3 }, { 4, 27, 5, 4, 1, 3 }, { 3, 28, 5, 4, 50, 3 }, { 2, 29, 6, 4, 50, 3 }, { 1, 30, 6, 4, 50, 3 }, + { 0, 31, 6, 4, 50, 3 }, { -1, 32, 6, 4, 50, 3 }, { -2, 33, 7, 4, 50, 3 }, { -3, 34, 7, 4, 50, 3 }, { -4, 35, 7, 4, 50, 3 }, + { -5, 36, 7, 4, 50, 3 }, { -6, 37, 7, 4, 50, 3 }, { -7, 38, 7, 4, 50, 3 }, { -8, 39, 8, 4, 0, 0 }, { -9, 40, 8, 4, 0, 0 }, + { -10, 41, 8, 4, 0, 0 }, { -11, 42, 8, 4, 0, 0 }, { -12, 43, 8, 4, 0, 0 }, { -13, 44, 8, 4, 0, 0 }, { -14, 45, 8, 4, 0, 0 }, + { -15, 46, 8, 4, 0, 0 }, { -16, 47, 8, 4, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToFlat1, { + { 16, 16, 0, 12, 51, 4 }, { 17, 17, 1, 12, 51, 4 }, { 18, 18, 1, 12, 51, 4 }, { 19, 19, 2, 12, 51, 4 }, { 20, 20, 2, 12, 51, 4 }, + { 21, 21, 2, 12, 51, 4 }, { 22, 22, 3, 12, 51, 4 }, { 23, 23, 3, 12, 51, 4 }, { 24, 24, 4, 12, 1, 3 }, { 25, 25, 4, 12, 1, 3 }, + { 26, 26, 4, 12, 1, 3 }, { 27, 27, 5, 12, 1, 3 }, { 28, 28, 5, 12, 1, 3 }, { 29, 29, 5, 12, 50, 3 }, { 30, 30, 6, 12, 50, 3 }, + { 31, 31, 6, 12, 50, 3 }, { 32, 32, 6, 12, 50, 3 }, { 33, 33, 6, 12, 50, 3 }, { 34, 34, 7, 12, 50, 3 }, { 35, 35, 7, 12, 50, 3 }, + { 36, 36, 7, 12, 50, 3 }, { 37, 37, 7, 12, 50, 3 }, { 38, 38, 7, 12, 50, 3 }, { 39, 39, 7, 12, 50, 3 }, { 40, 40, 8, 12, 0, 0 }, + { 41, 41, 8, 12, 0, 0 }, { 42, 42, 8, 12, 0, 0 }, { 43, 43, 8, 12, 0, 0 }, { 44, 44, 8, 12, 0, 0 }, { 45, 45, 8, 12, 0, 0 }, + { 46, 46, 8, 12, 0, 0 }, { 47, 47, 8, 12, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToFlat2, { + { 16, 15, 0, 20, 51, 4 }, { 17, 14, 1, 20, 51, 4 }, { 18, 13, 1, 20, 51, 4 }, { 19, 12, 2, 20, 51, 4 }, { 20, 11, 2, 20, 51, 4 }, + { 21, 10, 2, 20, 51, 4 }, { 22, 9, 3, 20, 51, 4 }, { 23, 8, 3, 20, 51, 4 }, { 24, 7, 4, 20, 1, 3 }, { 25, 6, 4, 20, 1, 3 }, + { 26, 5, 4, 20, 1, 3 }, { 27, 4, 5, 20, 1, 3 }, { 28, 3, 5, 20, 1, 3 }, { 29, 2, 5, 20, 50, 3 }, { 30, 1, 6, 20, 50, 3 }, + { 31, 0, 6, 20, 50, 3 }, { 32, -1, 6, 20, 50, 3 }, { 33, -2, 6, 20, 50, 3 }, { 34, -3, 7, 20, 50, 3 }, { 35, -4, 7, 20, 50, 3 }, + { 36, -5, 7, 20, 50, 3 }, { 37, -6, 7, 20, 50, 3 }, { 38, -7, 7, 20, 50, 3 }, { 39, -8, 7, 20, 50, 3 }, { 40, -9, 8, 20, 0, 0 }, + { 41, -10, 8, 20, 0, 0 }, { 42, -11, 8, 20, 0, 0 }, { 43, -12, 8, 20, 0, 0 }, { 44, -13, 8, 20, 0, 0 }, { 45, -14, 8, 20, 0, 0 }, + { 46, -15, 8, 20, 0, 0 }, { 47, -16, 8, 20, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedUp25ToFlat3, { + { 15, 15, 1, 28, 51, 4 }, { 14, 14, 1, 28, 51, 4 }, { 13, 13, 2, 28, 51, 4 }, { 12, 12, 2, 28, 51, 4 }, { 11, 11, 2, 28, 51, 4 }, + { 10, 10, 3, 28, 51, 4 }, { 9, 9, 3, 28, 51, 4 }, { 8, 8, 4, 28, 1, 3 }, { 7, 7, 4, 28, 1, 3 }, { 6, 6, 4, 28, 1, 3 }, + { 5, 5, 5, 28, 1, 3 }, { 4, 4, 5, 28, 1, 3 }, { 3, 3, 5, 28, 50, 3 }, { 2, 2, 6, 28, 50, 3 }, { 1, 1, 6, 28, 50, 3 }, + { 0, 0, 6, 28, 50, 3 }, { -1, -1, 6, 28, 50, 3 }, { -2, -2, 7, 28, 50, 3 }, { -3, -3, 7, 28, 50, 3 }, { -4, -4, 7, 28, 50, 3 }, + { -5, -5, 7, 28, 50, 3 }, { -6, -6, 7, 28, 50, 3 }, { -7, -7, 7, 28, 50, 3 }, { -8, -8, 8, 28, 0, 0 }, { -9, -9, 8, 28, 0, 0 }, + { -10, -10, 8, 28, 0, 0 }, { -11, -11, 8, 28, 0, 0 }, { -12, -12, 8, 28, 0, 0 }, { -13, -13, 8, 28, 0, 0 }, { -14, -14, 8, 28, 0, 0 }, + { -15, -15, 8, 28, 0, 0 }, { -16, -16, 8, 28, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedDown250, { + { 15, 16, 8, 4, 0, 0 }, { 14, 17, 8, 4, 0, 0 }, { 13, 18, 8, 4, 0, 0 }, { 12, 19, 8, 4, 0, 0 }, { 11, 20, 8, 4, 0, 0 }, + { 10, 21, 8, 4, 0, 0 }, { 9, 22, 8, 4, 0, 0 }, { 8, 23, 7, 4, 53, 1 }, { 7, 24, 7, 4, 53, 1 }, { 6, 25, 7, 4, 53, 1 }, + { 5, 26, 7, 4, 53, 1 }, { 4, 27, 7, 4, 53, 1 }, { 3, 28, 7, 4, 53, 1 }, { 2, 29, 6, 4, 53, 1 }, { 1, 30, 6, 4, 53, 1 }, + { 0, 31, 6, 4, 53, 1 }, { -1, 32, 6, 4, 53, 1 }, { -2, 33, 5, 4, 53, 1 }, { -3, 34, 5, 4, 5, 1 }, { -4, 35, 5, 4, 5, 1 }, + { -5, 36, 4, 4, 5, 1 }, { -6, 37, 4, 4, 5, 1 }, { -7, 38, 4, 4, 5, 1 }, { -8, 39, 3, 4, 54, 2 }, { -9, 40, 3, 4, 54, 2 }, + { -10, 41, 3, 4, 54, 2 }, { -11, 42, 2, 4, 54, 2 }, { -12, 43, 2, 4, 54, 2 }, { -13, 44, 1, 4, 54, 2 }, { -14, 45, 1, 4, 54, 2 }, + { -15, 46, 0, 4, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedDown251, { + { 16, 16, 8, 12, 0, 0 }, { 17, 17, 8, 12, 0, 0 }, { 18, 18, 8, 12, 0, 0 }, { 19, 19, 8, 12, 0, 0 }, { 20, 20, 8, 12, 0, 0 }, + { 21, 21, 8, 12, 0, 0 }, { 22, 22, 8, 12, 0, 0 }, { 23, 23, 8, 12, 0, 0 }, { 24, 24, 7, 12, 53, 1 }, { 25, 25, 7, 12, 53, 1 }, + { 26, 26, 7, 12, 53, 1 }, { 27, 27, 7, 12, 53, 1 }, { 28, 28, 7, 12, 53, 1 }, { 29, 29, 7, 12, 53, 1 }, { 30, 30, 6, 12, 53, 1 }, + { 31, 31, 6, 12, 53, 1 }, { 32, 32, 6, 12, 53, 1 }, { 33, 33, 6, 12, 53, 1 }, { 34, 34, 5, 12, 53, 1 }, { 35, 35, 5, 12, 5, 1 }, + { 36, 36, 5, 12, 5, 1 }, { 37, 37, 4, 12, 5, 1 }, { 38, 38, 4, 12, 5, 1 }, { 39, 39, 4, 12, 5, 1 }, { 40, 40, 3, 12, 54, 2 }, + { 41, 41, 3, 12, 54, 2 }, { 42, 42, 3, 12, 54, 2 }, { 43, 43, 2, 12, 54, 2 }, { 44, 44, 2, 12, 54, 2 }, { 45, 45, 1, 12, 54, 2 }, + { 46, 46, 1, 12, 54, 2 }, { 47, 47, 0, 12, 54, 2 }, { 48, 48, 0, 12, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedDown252, { + { 16, 15, 8, 20, 0, 0 }, { 17, 14, 8, 20, 0, 0 }, { 18, 13, 8, 20, 0, 0 }, { 19, 12, 8, 20, 0, 0 }, { 20, 11, 8, 20, 0, 0 }, + { 21, 10, 8, 20, 0, 0 }, { 22, 9, 8, 20, 0, 0 }, { 23, 8, 8, 20, 0, 0 }, { 24, 7, 7, 20, 53, 1 }, { 25, 6, 7, 20, 53, 1 }, + { 26, 5, 7, 20, 53, 1 }, { 27, 4, 7, 20, 53, 1 }, { 28, 3, 7, 20, 53, 1 }, { 29, 2, 7, 20, 53, 1 }, { 30, 1, 6, 20, 53, 1 }, + { 31, 0, 6, 20, 53, 1 }, { 32, -1, 6, 20, 53, 1 }, { 33, -2, 6, 20, 53, 1 }, { 34, -3, 5, 20, 53, 1 }, { 35, -4, 5, 20, 5, 1 }, + { 36, -5, 5, 20, 5, 1 }, { 37, -6, 4, 20, 5, 1 }, { 38, -7, 4, 20, 5, 1 }, { 39, -8, 4, 20, 5, 1 }, { 40, -9, 3, 20, 54, 2 }, + { 41, -10, 3, 20, 54, 2 }, { 42, -11, 3, 20, 54, 2 }, { 43, -12, 2, 20, 54, 2 }, { 44, -13, 2, 20, 54, 2 }, { 45, -14, 1, 20, 54, 2 }, + { 46, -15, 1, 20, 54, 2 }, { 47, -16, 0, 20, 54, 2 }, { 48, -17, 0, 20, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToLeftBankedDown253, { + { 15, 15, 8, 28, 0, 0 }, { 14, 14, 8, 28, 0, 0 }, { 13, 13, 8, 28, 0, 0 }, { 12, 12, 8, 28, 0, 0 }, { 11, 11, 8, 28, 0, 0 }, + { 10, 10, 8, 28, 0, 0 }, { 9, 9, 8, 28, 0, 0 }, { 8, 8, 7, 28, 53, 1 }, { 7, 7, 7, 28, 53, 1 }, { 6, 6, 7, 28, 53, 1 }, + { 5, 5, 7, 28, 53, 1 }, { 4, 4, 7, 28, 53, 1 }, { 3, 3, 7, 28, 53, 1 }, { 2, 2, 6, 28, 53, 1 }, { 1, 1, 6, 28, 53, 1 }, + { 0, 0, 6, 28, 53, 1 }, { -1, -1, 6, 28, 53, 1 }, { -2, -2, 5, 28, 53, 1 }, { -3, -3, 5, 28, 5, 1 }, { -4, -4, 5, 28, 5, 1 }, + { -5, -5, 4, 28, 5, 1 }, { -6, -6, 4, 28, 5, 1 }, { -7, -7, 4, 28, 5, 1 }, { -8, -8, 3, 28, 54, 2 }, { -9, -9, 3, 28, 54, 2 }, + { -10, -10, 3, 28, 54, 2 }, { -11, -11, 2, 28, 54, 2 }, { -12, -12, 2, 28, 54, 2 }, { -13, -13, 1, 28, 54, 2 }, { -14, -14, 1, 28, 54, 2 }, + { -15, -15, 0, 28, 54, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedDown250, { + { 15, 16, 8, 4, 0, 0 }, { 14, 17, 8, 4, 0, 0 }, { 13, 18, 8, 4, 0, 0 }, { 12, 19, 8, 4, 0, 0 }, { 11, 20, 8, 4, 0, 0 }, + { 10, 21, 8, 4, 0, 0 }, { 9, 22, 8, 4, 0, 0 }, { 8, 23, 7, 4, 53, 3 }, { 7, 24, 7, 4, 53, 3 }, { 6, 25, 7, 4, 53, 3 }, + { 5, 26, 7, 4, 53, 3 }, { 4, 27, 7, 4, 53, 3 }, { 3, 28, 7, 4, 53, 3 }, { 2, 29, 6, 4, 53, 3 }, { 1, 30, 6, 4, 53, 3 }, + { 0, 31, 6, 4, 53, 3 }, { -1, 32, 6, 4, 53, 3 }, { -2, 33, 5, 4, 53, 3 }, { -3, 34, 5, 4, 5, 3 }, { -4, 35, 5, 4, 5, 3 }, + { -5, 36, 4, 4, 5, 3 }, { -6, 37, 4, 4, 5, 3 }, { -7, 38, 4, 4, 5, 3 }, { -8, 39, 3, 4, 54, 4 }, { -9, 40, 3, 4, 54, 4 }, + { -10, 41, 3, 4, 54, 4 }, { -11, 42, 2, 4, 54, 4 }, { -12, 43, 2, 4, 54, 4 }, { -13, 44, 1, 4, 54, 4 }, { -14, 45, 1, 4, 54, 4 }, + { -15, 46, 0, 4, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedDown251, { + { 16, 16, 8, 12, 0, 0 }, { 17, 17, 8, 12, 0, 0 }, { 18, 18, 8, 12, 0, 0 }, { 19, 19, 8, 12, 0, 0 }, { 20, 20, 8, 12, 0, 0 }, + { 21, 21, 8, 12, 0, 0 }, { 22, 22, 8, 12, 0, 0 }, { 23, 23, 8, 12, 0, 0 }, { 24, 24, 7, 12, 53, 3 }, { 25, 25, 7, 12, 53, 3 }, + { 26, 26, 7, 12, 53, 3 }, { 27, 27, 7, 12, 53, 3 }, { 28, 28, 7, 12, 53, 3 }, { 29, 29, 7, 12, 53, 3 }, { 30, 30, 6, 12, 53, 3 }, + { 31, 31, 6, 12, 53, 3 }, { 32, 32, 6, 12, 53, 3 }, { 33, 33, 6, 12, 53, 3 }, { 34, 34, 5, 12, 53, 3 }, { 35, 35, 5, 12, 5, 3 }, + { 36, 36, 5, 12, 5, 3 }, { 37, 37, 4, 12, 5, 3 }, { 38, 38, 4, 12, 5, 3 }, { 39, 39, 4, 12, 5, 3 }, { 40, 40, 3, 12, 54, 4 }, + { 41, 41, 3, 12, 54, 4 }, { 42, 42, 3, 12, 54, 4 }, { 43, 43, 2, 12, 54, 4 }, { 44, 44, 2, 12, 54, 4 }, { 45, 45, 1, 12, 54, 4 }, + { 46, 46, 1, 12, 54, 4 }, { 47, 47, 0, 12, 54, 4 }, { 48, 48, 0, 12, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedDown252, { + { 16, 15, 8, 20, 0, 0 }, { 17, 14, 8, 20, 0, 0 }, { 18, 13, 8, 20, 0, 0 }, { 19, 12, 8, 20, 0, 0 }, { 20, 11, 8, 20, 0, 0 }, + { 21, 10, 8, 20, 0, 0 }, { 22, 9, 8, 20, 0, 0 }, { 23, 8, 8, 20, 0, 0 }, { 24, 7, 7, 20, 53, 3 }, { 25, 6, 7, 20, 53, 3 }, + { 26, 5, 7, 20, 53, 3 }, { 27, 4, 7, 20, 53, 3 }, { 28, 3, 7, 20, 53, 3 }, { 29, 2, 7, 20, 53, 3 }, { 30, 1, 6, 20, 53, 3 }, + { 31, 0, 6, 20, 53, 3 }, { 32, -1, 6, 20, 53, 3 }, { 33, -2, 6, 20, 53, 3 }, { 34, -3, 5, 20, 53, 3 }, { 35, -4, 5, 20, 5, 3 }, + { 36, -5, 5, 20, 5, 3 }, { 37, -6, 4, 20, 5, 3 }, { 38, -7, 4, 20, 5, 3 }, { 39, -8, 4, 20, 5, 3 }, { 40, -9, 3, 20, 54, 4 }, + { 41, -10, 3, 20, 54, 4 }, { 42, -11, 3, 20, 54, 4 }, { 43, -12, 2, 20, 54, 4 }, { 44, -13, 2, 20, 54, 4 }, { 45, -14, 1, 20, 54, 4 }, + { 46, -15, 1, 20, 54, 4 }, { 47, -16, 0, 20, 54, 4 }, { 48, -17, 0, 20, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagFlatToRightBankedDown253, { + { 15, 15, 8, 28, 0, 0 }, { 14, 14, 8, 28, 0, 0 }, { 13, 13, 8, 28, 0, 0 }, { 12, 12, 8, 28, 0, 0 }, { 11, 11, 8, 28, 0, 0 }, + { 10, 10, 8, 28, 0, 0 }, { 9, 9, 8, 28, 0, 0 }, { 8, 8, 7, 28, 53, 3 }, { 7, 7, 7, 28, 53, 3 }, { 6, 6, 7, 28, 53, 3 }, + { 5, 5, 7, 28, 53, 3 }, { 4, 4, 7, 28, 53, 3 }, { 3, 3, 7, 28, 53, 3 }, { 2, 2, 6, 28, 53, 3 }, { 1, 1, 6, 28, 53, 3 }, + { 0, 0, 6, 28, 53, 3 }, { -1, -1, 6, 28, 53, 3 }, { -2, -2, 5, 28, 53, 3 }, { -3, -3, 5, 28, 5, 3 }, { -4, -4, 5, 28, 5, 3 }, + { -5, -5, 4, 28, 5, 3 }, { -6, -6, 4, 28, 5, 3 }, { -7, -7, 4, 28, 5, 3 }, { -8, -8, 3, 28, 54, 4 }, { -9, -9, 3, 28, 54, 4 }, + { -10, -10, 3, 28, 54, 4 }, { -11, -11, 2, 28, 54, 4 }, { -12, -12, 2, 28, 54, 4 }, { -13, -13, 1, 28, 54, 4 }, { -14, -14, 1, 28, 54, 4 }, + { -15, -15, 0, 28, 54, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToFlat0, { + { 15, 16, 7, 4, 54, 2 }, { 14, 17, 7, 4, 54, 2 }, { 13, 18, 6, 4, 54, 2 }, { 12, 19, 6, 4, 54, 2 }, { 11, 20, 6, 4, 54, 2 }, + { 10, 21, 5, 4, 54, 2 }, { 9, 22, 5, 4, 54, 2 }, { 8, 23, 4, 4, 5, 1 }, { 7, 24, 4, 4, 5, 1 }, { 6, 25, 4, 4, 5, 1 }, + { 5, 26, 3, 4, 5, 1 }, { 4, 27, 3, 4, 5, 1 }, { 3, 28, 3, 4, 53, 1 }, { 2, 29, 2, 4, 53, 1 }, { 1, 30, 2, 4, 53, 1 }, + { 0, 31, 2, 4, 53, 1 }, { -1, 32, 2, 4, 53, 1 }, { -2, 33, 1, 4, 53, 1 }, { -3, 34, 1, 4, 53, 1 }, { -4, 35, 1, 4, 53, 1 }, + { -5, 36, 1, 4, 53, 1 }, { -6, 37, 1, 4, 53, 1 }, { -7, 38, 1, 4, 53, 1 }, { -8, 39, 0, 4, 0, 0 }, { -9, 40, 0, 4, 0, 0 }, + { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, + { -15, 46, 0, 4, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToFlat1, { + { 16, 16, 8, 12, 54, 2 }, { 17, 17, 7, 12, 54, 2 }, { 18, 18, 7, 12, 54, 2 }, { 19, 19, 6, 12, 54, 2 }, { 20, 20, 6, 12, 54, 2 }, + { 21, 21, 6, 12, 54, 2 }, { 22, 22, 5, 12, 54, 2 }, { 23, 23, 5, 12, 54, 2 }, { 24, 24, 4, 12, 5, 1 }, { 25, 25, 4, 12, 5, 1 }, + { 26, 26, 4, 12, 5, 1 }, { 27, 27, 3, 12, 5, 1 }, { 28, 28, 3, 12, 5, 1 }, { 29, 29, 3, 12, 53, 1 }, { 30, 30, 2, 12, 53, 1 }, + { 31, 31, 2, 12, 53, 1 }, { 32, 32, 2, 12, 53, 1 }, { 33, 33, 2, 12, 53, 1 }, { 34, 34, 1, 12, 53, 1 }, { 35, 35, 1, 12, 53, 1 }, + { 36, 36, 1, 12, 53, 1 }, { 37, 37, 1, 12, 53, 1 }, { 38, 38, 1, 12, 53, 1 }, { 39, 39, 1, 12, 53, 1 }, { 40, 40, 0, 12, 0, 0 }, + { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, + { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, { 48, 48, 0, 12, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToFlat2, { + { 16, 15, 8, 20, 54, 2 }, { 17, 14, 7, 20, 54, 2 }, { 18, 13, 7, 20, 54, 2 }, { 19, 12, 6, 20, 54, 2 }, { 20, 11, 6, 20, 54, 2 }, + { 21, 10, 6, 20, 54, 2 }, { 22, 9, 5, 20, 54, 2 }, { 23, 8, 5, 20, 54, 2 }, { 24, 7, 4, 20, 5, 1 }, { 25, 6, 4, 20, 5, 1 }, + { 26, 5, 4, 20, 5, 1 }, { 27, 4, 3, 20, 5, 1 }, { 28, 3, 3, 20, 5, 1 }, { 29, 2, 3, 20, 53, 1 }, { 30, 1, 2, 20, 53, 1 }, + { 31, 0, 2, 20, 53, 1 }, { 32, -1, 2, 20, 53, 1 }, { 33, -2, 2, 20, 53, 1 }, { 34, -3, 1, 20, 53, 1 }, { 35, -4, 1, 20, 53, 1 }, + { 36, -5, 1, 20, 53, 1 }, { 37, -6, 1, 20, 53, 1 }, { 38, -7, 1, 20, 53, 1 }, { 39, -8, 1, 20, 53, 1 }, { 40, -9, 0, 20, 0, 0 }, + { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, + { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, { 48, -17, 0, 20, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagLeftBankedDown25ToFlat3, { + { 15, 15, 7, 28, 54, 2 }, { 14, 14, 7, 28, 54, 2 }, { 13, 13, 6, 28, 54, 2 }, { 12, 12, 6, 28, 54, 2 }, { 11, 11, 6, 28, 54, 2 }, + { 10, 10, 5, 28, 54, 2 }, { 9, 9, 5, 28, 54, 2 }, { 8, 8, 4, 28, 5, 1 }, { 7, 7, 4, 28, 5, 1 }, { 6, 6, 4, 28, 5, 1 }, + { 5, 5, 3, 28, 5, 1 }, { 4, 4, 3, 28, 5, 1 }, { 3, 3, 3, 28, 53, 1 }, { 2, 2, 2, 28, 53, 1 }, { 1, 1, 2, 28, 53, 1 }, + { 0, 0, 2, 28, 53, 1 }, { -1, -1, 2, 28, 53, 1 }, { -2, -2, 1, 28, 53, 1 }, { -3, -3, 1, 28, 53, 1 }, { -4, -4, 1, 28, 53, 1 }, + { -5, -5, 1, 28, 53, 1 }, { -6, -6, 1, 28, 53, 1 }, { -7, -7, 1, 28, 53, 1 }, { -8, -8, 0, 28, 0, 0 }, { -9, -9, 0, 28, 0, 0 }, + { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, + { -15, -15, 0, 28, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToFlat0, { + { 15, 16, 7, 4, 54, 4 }, { 14, 17, 7, 4, 54, 4 }, { 13, 18, 6, 4, 54, 4 }, { 12, 19, 6, 4, 54, 4 }, { 11, 20, 6, 4, 54, 4 }, + { 10, 21, 5, 4, 54, 4 }, { 9, 22, 5, 4, 54, 4 }, { 8, 23, 4, 4, 5, 3 }, { 7, 24, 4, 4, 5, 3 }, { 6, 25, 4, 4, 5, 3 }, + { 5, 26, 3, 4, 5, 3 }, { 4, 27, 3, 4, 5, 3 }, { 3, 28, 3, 4, 53, 3 }, { 2, 29, 2, 4, 53, 3 }, { 1, 30, 2, 4, 53, 3 }, + { 0, 31, 2, 4, 53, 3 }, { -1, 32, 2, 4, 53, 3 }, { -2, 33, 1, 4, 53, 3 }, { -3, 34, 1, 4, 53, 3 }, { -4, 35, 1, 4, 53, 3 }, + { -5, 36, 1, 4, 53, 3 }, { -6, 37, 1, 4, 53, 3 }, { -7, 38, 1, 4, 53, 3 }, { -8, 39, 0, 4, 0, 0 }, { -9, 40, 0, 4, 0, 0 }, + { -10, 41, 0, 4, 0, 0 }, { -11, 42, 0, 4, 0, 0 }, { -12, 43, 0, 4, 0, 0 }, { -13, 44, 0, 4, 0, 0 }, { -14, 45, 0, 4, 0, 0 }, + { -15, 46, 0, 4, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToFlat1, { + { 16, 16, 8, 12, 54, 4 }, { 17, 17, 7, 12, 54, 4 }, { 18, 18, 7, 12, 54, 4 }, { 19, 19, 6, 12, 54, 4 }, { 20, 20, 6, 12, 54, 4 }, + { 21, 21, 6, 12, 54, 4 }, { 22, 22, 5, 12, 54, 4 }, { 23, 23, 5, 12, 54, 4 }, { 24, 24, 4, 12, 5, 3 }, { 25, 25, 4, 12, 5, 3 }, + { 26, 26, 4, 12, 5, 3 }, { 27, 27, 3, 12, 5, 3 }, { 28, 28, 3, 12, 5, 3 }, { 29, 29, 3, 12, 53, 3 }, { 30, 30, 2, 12, 53, 3 }, + { 31, 31, 2, 12, 53, 3 }, { 32, 32, 2, 12, 53, 3 }, { 33, 33, 2, 12, 53, 3 }, { 34, 34, 1, 12, 53, 3 }, { 35, 35, 1, 12, 53, 3 }, + { 36, 36, 1, 12, 53, 3 }, { 37, 37, 1, 12, 53, 3 }, { 38, 38, 1, 12, 53, 3 }, { 39, 39, 1, 12, 53, 3 }, { 40, 40, 0, 12, 0, 0 }, + { 41, 41, 0, 12, 0, 0 }, { 42, 42, 0, 12, 0, 0 }, { 43, 43, 0, 12, 0, 0 }, { 44, 44, 0, 12, 0, 0 }, { 45, 45, 0, 12, 0, 0 }, + { 46, 46, 0, 12, 0, 0 }, { 47, 47, 0, 12, 0, 0 }, { 48, 48, 0, 12, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToFlat2, { + { 16, 15, 8, 20, 54, 4 }, { 17, 14, 7, 20, 54, 4 }, { 18, 13, 7, 20, 54, 4 }, { 19, 12, 6, 20, 54, 4 }, { 20, 11, 6, 20, 54, 4 }, + { 21, 10, 6, 20, 54, 4 }, { 22, 9, 5, 20, 54, 4 }, { 23, 8, 5, 20, 54, 4 }, { 24, 7, 4, 20, 5, 3 }, { 25, 6, 4, 20, 5, 3 }, + { 26, 5, 4, 20, 5, 3 }, { 27, 4, 3, 20, 5, 3 }, { 28, 3, 3, 20, 5, 3 }, { 29, 2, 3, 20, 53, 3 }, { 30, 1, 2, 20, 53, 3 }, + { 31, 0, 2, 20, 53, 3 }, { 32, -1, 2, 20, 53, 3 }, { 33, -2, 2, 20, 53, 3 }, { 34, -3, 1, 20, 53, 3 }, { 35, -4, 1, 20, 53, 3 }, + { 36, -5, 1, 20, 53, 3 }, { 37, -6, 1, 20, 53, 3 }, { 38, -7, 1, 20, 53, 3 }, { 39, -8, 1, 20, 53, 3 }, { 40, -9, 0, 20, 0, 0 }, + { 41, -10, 0, 20, 0, 0 }, { 42, -11, 0, 20, 0, 0 }, { 43, -12, 0, 20, 0, 0 }, { 44, -13, 0, 20, 0, 0 }, { 45, -14, 0, 20, 0, 0 }, + { 46, -15, 0, 20, 0, 0 }, { 47, -16, 0, 20, 0, 0 }, { 48, -17, 0, 20, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoDiagRightBankedDown25ToFlat3, { + { 15, 15, 7, 28, 54, 4 }, { 14, 14, 7, 28, 54, 4 }, { 13, 13, 6, 28, 54, 4 }, { 12, 12, 6, 28, 54, 4 }, { 11, 11, 6, 28, 54, 4 }, + { 10, 10, 5, 28, 54, 4 }, { 9, 9, 5, 28, 54, 4 }, { 8, 8, 4, 28, 5, 3 }, { 7, 7, 4, 28, 5, 3 }, { 6, 6, 4, 28, 5, 3 }, + { 5, 5, 3, 28, 5, 3 }, { 4, 4, 3, 28, 5, 3 }, { 3, 3, 3, 28, 53, 3 }, { 2, 2, 2, 28, 53, 3 }, { 1, 1, 2, 28, 53, 3 }, + { 0, 0, 2, 28, 53, 3 }, { -1, -1, 2, 28, 53, 3 }, { -2, -2, 1, 28, 53, 3 }, { -3, -3, 1, 28, 53, 3 }, { -4, -4, 1, 28, 53, 3 }, + { -5, -5, 1, 28, 53, 3 }, { -6, -6, 1, 28, 53, 3 }, { -7, -7, 1, 28, 53, 3 }, { -8, -8, 0, 28, 0, 0 }, { -9, -9, 0, 28, 0, 0 }, + { -10, -10, 0, 28, 0, 0 }, { -11, -11, 0, 28, 0, 0 }, { -12, -12, 0, 28, 0, 0 }, { -13, -13, 0, 28, 0, 0 }, { -14, -14, 0, 28, 0, 0 }, + { -15, -15, 0, 28, 0, 0 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagUp250, { + { 31, 16, 1, 0, 2, 2 }, { 30, 16, 1, 0, 2, 2 }, { 29, 16, 2, 0, 2, 2 }, { 28, 16, 2, 0, 2, 2 }, { 27, 16, 3, 0, 2, 2 }, + { 26, 16, 4, 0, 2, 2 }, { 25, 16, 4, 0, 2, 2 }, { 24, 16, 5, 0, 2, 2 }, { 23, 16, 5, 0, 2, 2 }, { 22, 15, 6, 0, 2, 2 }, + { 21, 15, 6, 31, 2, 2 }, { 20, 15, 7, 31, 2, 2 }, { 19, 15, 7, 31, 2, 2 }, { 18, 15, 8, 31, 2, 2 }, { 17, 15, 9, 31, 2, 2 }, + { 16, 15, 9, 31, 2, 2 }, { 15, 15, 10, 31, 2, 2 }, { 14, 14, 10, 31, 2, 2 }, { 13, 14, 11, 31, 2, 2 }, { 12, 14, 12, 31, 2, 2 }, + { 11, 14, 12, 31, 2, 2 }, { 10, 14, 13, 31, 2, 2 }, { 9, 13, 13, 31, 2, 2 }, { 8, 13, 14, 31, 2, 2 }, { 7, 13, 14, 31, 2, 2 }, + { 6, 13, 15, 31, 2, 2 }, { 5, 13, 16, 31, 2, 2 }, { 4, 12, 16, 31, 2, 2 }, { 3, 12, 17, 31, 2, 2 }, { 2, 12, 17, 31, 2, 2 }, + { 1, 11, 18, 31, 2, 2 }, { 0, 11, 19, 31, 2, 2 }, { -1, 11, 19, 30, 2, 2 }, { -2, 11, 20, 30, 2, 2 }, { -3, 10, 20, 30, 2, 2 }, + { -4, 10, 21, 30, 2, 2 }, { -5, 10, 22, 30, 2, 2 }, { -6, 9, 22, 30, 2, 2 }, { -7, 9, 23, 30, 2, 2 }, { -8, 8, 23, 30, 2, 2 }, + { -9, 8, 24, 30, 2, 2 }, { -10, 8, 25, 30, 2, 2 }, { -11, 7, 25, 30, 2, 2 }, { -12, 7, 26, 30, 2, 2 }, { -13, 7, 26, 30, 2, 2 }, + { -14, 6, 27, 30, 2, 2 }, { -15, 6, 28, 30, 2, 2 }, { -16, 5, 28, 30, 2, 2 }, { -17, 5, 29, 30, 2, 2 }, { -18, 4, 30, 30, 2, 2 }, + { -19, 4, 30, 30, 2, 2 }, { -20, 3, 31, 30, 2, 2 }, { -21, 3, 31, 30, 2, 2 }, { -22, 2, 32, 30, 2, 2 }, { -23, 2, 33, 30, 2, 2 }, + { -24, 1, 33, 29, 2, 2 }, { -25, 1, 34, 29, 2, 2 }, { -26, 0, 35, 29, 2, 2 }, { -27, 0, 35, 29, 2, 2 }, { -28, -1, 36, 29, 2, 2 }, + { -29, -2, 36, 29, 2, 2 }, { -30, -2, 37, 29, 2, 2 }, { -31, -3, 38, 29, 2, 2 }, { -32, -4, 38, 29, 2, 2 }, { -33, -4, 39, 29, 2, 2 }, + { -34, -5, 39, 29, 2, 2 }, { -35, -6, 40, 29, 2, 2 }, { -36, -6, 41, 29, 2, 2 }, { -37, -7, 41, 29, 2, 2 }, { -38, -8, 42, 29, 2, 2 }, + { -39, -9, 43, 29, 2, 2 }, { -40, -9, 43, 29, 2, 2 }, { -41, -10, 44, 29, 2, 2 }, { -42, -11, 44, 28, 2, 2 }, { -43, -12, 45, 28, 2, 2 }, + { -44, -13, 46, 28, 2, 2 }, { -45, -14, 46, 28, 2, 2 }, { -46, -15, 47, 28, 2, 2 }, { -47, -15, 48, 28, 2, 2 }, { -48, -16, 48, 28, 2, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagUp251, { + { 16, 0, 0, 8, 2, 2 }, { 16, 1, 1, 8, 2, 2 }, { 16, 2, 1, 8, 2, 2 }, { 16, 3, 2, 8, 2, 2 }, { 16, 4, 2, 8, 2, 2 }, + { 16, 5, 3, 8, 2, 2 }, { 16, 6, 4, 8, 2, 2 }, { 16, 7, 4, 8, 2, 2 }, { 16, 8, 5, 8, 2, 2 }, { 16, 9, 5, 8, 2, 2 }, + { 15, 10, 6, 8, 2, 2 }, { 15, 11, 6, 7, 2, 2 }, { 15, 12, 7, 7, 2, 2 }, { 15, 13, 7, 7, 2, 2 }, { 15, 14, 8, 7, 2, 2 }, + { 15, 15, 9, 7, 2, 2 }, { 15, 16, 9, 7, 2, 2 }, { 15, 17, 10, 7, 2, 2 }, { 14, 18, 10, 7, 2, 2 }, { 14, 19, 11, 7, 2, 2 }, + { 14, 20, 12, 7, 2, 2 }, { 14, 21, 12, 7, 2, 2 }, { 14, 22, 13, 7, 2, 2 }, { 13, 23, 13, 7, 2, 2 }, { 13, 24, 14, 7, 2, 2 }, + { 13, 25, 14, 7, 2, 2 }, { 13, 26, 15, 7, 2, 2 }, { 13, 27, 16, 7, 2, 2 }, { 12, 28, 16, 7, 2, 2 }, { 12, 29, 17, 7, 2, 2 }, + { 12, 30, 17, 7, 2, 2 }, { 11, 31, 18, 7, 2, 2 }, { 11, 32, 19, 7, 2, 2 }, { 11, 33, 19, 6, 2, 2 }, { 11, 34, 20, 6, 2, 2 }, + { 10, 35, 20, 6, 2, 2 }, { 10, 36, 21, 6, 2, 2 }, { 10, 37, 22, 6, 2, 2 }, { 9, 38, 22, 6, 2, 2 }, { 9, 39, 23, 6, 2, 2 }, + { 8, 40, 23, 6, 2, 2 }, { 8, 41, 24, 6, 2, 2 }, { 8, 42, 25, 6, 2, 2 }, { 7, 43, 25, 6, 2, 2 }, { 7, 44, 26, 6, 2, 2 }, + { 7, 45, 26, 6, 2, 2 }, { 6, 46, 27, 6, 2, 2 }, { 6, 47, 28, 6, 2, 2 }, { 5, 48, 28, 6, 2, 2 }, { 5, 49, 29, 6, 2, 2 }, + { 4, 50, 30, 6, 2, 2 }, { 4, 51, 30, 6, 2, 2 }, { 3, 52, 31, 6, 2, 2 }, { 3, 53, 31, 6, 2, 2 }, { 2, 54, 32, 6, 2, 2 }, + { 2, 55, 33, 6, 2, 2 }, { 1, 56, 33, 5, 2, 2 }, { 1, 57, 34, 5, 2, 2 }, { 0, 58, 35, 5, 2, 2 }, { 0, 59, 35, 5, 2, 2 }, + { -1, 60, 36, 5, 2, 2 }, { -2, 61, 36, 5, 2, 2 }, { -2, 62, 37, 5, 2, 2 }, { -3, 63, 38, 5, 2, 2 }, { -4, 64, 38, 5, 2, 2 }, + { -4, 65, 39, 5, 2, 2 }, { -5, 66, 39, 5, 2, 2 }, { -6, 67, 40, 5, 2, 2 }, { -6, 68, 41, 5, 2, 2 }, { -7, 69, 41, 5, 2, 2 }, + { -8, 70, 42, 5, 2, 2 }, { -9, 71, 43, 5, 2, 2 }, { -9, 72, 43, 5, 2, 2 }, { -10, 73, 44, 5, 2, 2 }, { -11, 74, 44, 4, 2, 2 }, + { -12, 75, 45, 4, 2, 2 }, { -13, 76, 46, 4, 2, 2 }, { -14, 77, 46, 4, 2, 2 }, { -15, 78, 47, 4, 2, 2 }, { -15, 79, 48, 4, 2, 2 }, + { -16, 80, 48, 4, 2, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagUp252, { + { 0, 16, 0, 16, 2, 2 }, { 1, 16, 1, 16, 2, 2 }, { 2, 16, 1, 16, 2, 2 }, { 3, 16, 2, 16, 2, 2 }, { 4, 16, 2, 16, 2, 2 }, + { 5, 16, 3, 16, 2, 2 }, { 6, 16, 4, 16, 2, 2 }, { 7, 16, 4, 16, 2, 2 }, { 8, 16, 5, 16, 2, 2 }, { 9, 16, 5, 16, 2, 2 }, + { 10, 17, 6, 16, 2, 2 }, { 11, 17, 6, 15, 2, 2 }, { 12, 17, 7, 15, 2, 2 }, { 13, 17, 7, 15, 2, 2 }, { 14, 17, 8, 15, 2, 2 }, + { 15, 17, 9, 15, 2, 2 }, { 16, 17, 9, 15, 2, 2 }, { 17, 17, 10, 15, 2, 2 }, { 18, 18, 10, 15, 2, 2 }, { 19, 18, 11, 15, 2, 2 }, + { 20, 18, 12, 15, 2, 2 }, { 21, 18, 12, 15, 2, 2 }, { 22, 18, 13, 15, 2, 2 }, { 23, 19, 13, 15, 2, 2 }, { 24, 19, 14, 15, 2, 2 }, + { 25, 19, 14, 15, 2, 2 }, { 26, 19, 15, 15, 2, 2 }, { 27, 19, 16, 15, 2, 2 }, { 28, 20, 16, 15, 2, 2 }, { 29, 20, 17, 15, 2, 2 }, + { 30, 20, 17, 15, 2, 2 }, { 31, 21, 18, 15, 2, 2 }, { 32, 21, 19, 15, 2, 2 }, { 33, 21, 19, 14, 2, 2 }, { 34, 21, 20, 14, 2, 2 }, + { 35, 22, 20, 14, 2, 2 }, { 36, 22, 21, 14, 2, 2 }, { 37, 22, 22, 14, 2, 2 }, { 38, 23, 22, 14, 2, 2 }, { 39, 23, 23, 14, 2, 2 }, + { 40, 24, 23, 14, 2, 2 }, { 41, 24, 24, 14, 2, 2 }, { 42, 24, 25, 14, 2, 2 }, { 43, 25, 25, 14, 2, 2 }, { 44, 25, 26, 14, 2, 2 }, + { 45, 25, 26, 14, 2, 2 }, { 46, 26, 27, 14, 2, 2 }, { 47, 26, 28, 14, 2, 2 }, { 48, 27, 28, 14, 2, 2 }, { 49, 27, 29, 14, 2, 2 }, + { 50, 28, 30, 14, 2, 2 }, { 51, 28, 30, 14, 2, 2 }, { 52, 29, 31, 14, 2, 2 }, { 53, 29, 31, 14, 2, 2 }, { 54, 30, 32, 14, 2, 2 }, + { 55, 30, 33, 14, 2, 2 }, { 56, 31, 33, 13, 2, 2 }, { 57, 31, 34, 13, 2, 2 }, { 58, 32, 35, 13, 2, 2 }, { 59, 32, 35, 13, 2, 2 }, + { 60, 33, 36, 13, 2, 2 }, { 61, 34, 36, 13, 2, 2 }, { 62, 34, 37, 13, 2, 2 }, { 63, 35, 38, 13, 2, 2 }, { 64, 36, 38, 13, 2, 2 }, + { 65, 36, 39, 13, 2, 2 }, { 66, 37, 39, 13, 2, 2 }, { 67, 38, 40, 13, 2, 2 }, { 68, 38, 41, 13, 2, 2 }, { 69, 39, 41, 13, 2, 2 }, + { 70, 40, 42, 13, 2, 2 }, { 71, 41, 43, 13, 2, 2 }, { 72, 41, 43, 13, 2, 2 }, { 73, 42, 44, 13, 2, 2 }, { 74, 43, 44, 12, 2, 2 }, + { 75, 44, 45, 12, 2, 2 }, { 76, 45, 46, 12, 2, 2 }, { 77, 46, 46, 12, 2, 2 }, { 78, 47, 47, 12, 2, 2 }, { 79, 47, 48, 12, 2, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagUp253, { + { 16, 31, 1, 24, 2, 2 }, { 16, 30, 1, 24, 2, 2 }, { 16, 29, 2, 24, 2, 2 }, { 16, 28, 2, 24, 2, 2 }, { 16, 27, 3, 24, 2, 2 }, + { 16, 26, 4, 24, 2, 2 }, { 16, 25, 4, 24, 2, 2 }, { 16, 24, 5, 24, 2, 2 }, { 16, 23, 5, 24, 2, 2 }, { 17, 22, 6, 24, 2, 2 }, + { 17, 21, 6, 23, 2, 2 }, { 17, 20, 7, 23, 2, 2 }, { 17, 19, 7, 23, 2, 2 }, { 17, 18, 8, 23, 2, 2 }, { 17, 17, 9, 23, 2, 2 }, + { 17, 16, 9, 23, 2, 2 }, { 17, 15, 10, 23, 2, 2 }, { 18, 14, 10, 23, 2, 2 }, { 18, 13, 11, 23, 2, 2 }, { 18, 12, 12, 23, 2, 2 }, + { 18, 11, 12, 23, 2, 2 }, { 18, 10, 13, 23, 2, 2 }, { 19, 9, 13, 23, 2, 2 }, { 19, 8, 14, 23, 2, 2 }, { 19, 7, 14, 23, 2, 2 }, + { 19, 6, 15, 23, 2, 2 }, { 19, 5, 16, 23, 2, 2 }, { 20, 4, 16, 23, 2, 2 }, { 20, 3, 17, 23, 2, 2 }, { 20, 2, 17, 23, 2, 2 }, + { 21, 1, 18, 23, 2, 2 }, { 21, 0, 19, 23, 2, 2 }, { 21, -1, 19, 22, 2, 2 }, { 21, -2, 20, 22, 2, 2 }, { 22, -3, 20, 22, 2, 2 }, + { 22, -4, 21, 22, 2, 2 }, { 22, -5, 22, 22, 2, 2 }, { 23, -6, 22, 22, 2, 2 }, { 23, -7, 23, 22, 2, 2 }, { 24, -8, 23, 22, 2, 2 }, + { 24, -9, 24, 22, 2, 2 }, { 24, -10, 25, 22, 2, 2 }, { 25, -11, 25, 22, 2, 2 }, { 25, -12, 26, 22, 2, 2 }, { 25, -13, 26, 22, 2, 2 }, + { 26, -14, 27, 22, 2, 2 }, { 26, -15, 28, 22, 2, 2 }, { 27, -16, 28, 22, 2, 2 }, { 27, -17, 29, 22, 2, 2 }, { 28, -18, 30, 22, 2, 2 }, + { 28, -19, 30, 22, 2, 2 }, { 29, -20, 31, 22, 2, 2 }, { 29, -21, 31, 22, 2, 2 }, { 30, -22, 32, 22, 2, 2 }, { 30, -23, 33, 22, 2, 2 }, + { 31, -24, 33, 21, 2, 2 }, { 31, -25, 34, 21, 2, 2 }, { 32, -26, 35, 21, 2, 2 }, { 32, -27, 35, 21, 2, 2 }, { 33, -28, 36, 21, 2, 2 }, + { 34, -29, 36, 21, 2, 2 }, { 34, -30, 37, 21, 2, 2 }, { 35, -31, 38, 21, 2, 2 }, { 36, -32, 38, 21, 2, 2 }, { 36, -33, 39, 21, 2, 2 }, + { 37, -34, 39, 21, 2, 2 }, { 38, -35, 40, 21, 2, 2 }, { 38, -36, 41, 21, 2, 2 }, { 39, -37, 41, 21, 2, 2 }, { 40, -38, 42, 21, 2, 2 }, + { 41, -39, 43, 21, 2, 2 }, { 41, -40, 43, 21, 2, 2 }, { 42, -41, 44, 21, 2, 2 }, { 43, -42, 44, 20, 2, 2 }, { 44, -43, 45, 20, 2, 2 }, + { 45, -44, 46, 20, 2, 2 }, { 46, -45, 46, 20, 2, 2 }, { 47, -46, 47, 20, 2, 2 }, { 47, -47, 48, 20, 2, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagUp250, { + { 31, 16, 1, 0, 2, 4 }, { 30, 16, 1, 0, 2, 4 }, { 29, 16, 2, 0, 2, 4 }, { 28, 16, 2, 0, 2, 4 }, { 27, 16, 3, 0, 2, 4 }, + { 26, 16, 4, 0, 2, 4 }, { 25, 16, 4, 0, 2, 4 }, { 24, 16, 5, 0, 2, 4 }, { 23, 16, 5, 0, 2, 4 }, { 22, 17, 6, 0, 2, 4 }, + { 21, 17, 6, 1, 2, 4 }, { 20, 17, 7, 1, 2, 4 }, { 19, 17, 7, 1, 2, 4 }, { 18, 17, 8, 1, 2, 4 }, { 17, 17, 9, 1, 2, 4 }, + { 16, 17, 9, 1, 2, 4 }, { 15, 17, 10, 1, 2, 4 }, { 14, 18, 10, 1, 2, 4 }, { 13, 18, 11, 1, 2, 4 }, { 12, 18, 12, 1, 2, 4 }, + { 11, 18, 12, 1, 2, 4 }, { 10, 18, 13, 1, 2, 4 }, { 9, 19, 13, 1, 2, 4 }, { 8, 19, 14, 1, 2, 4 }, { 7, 19, 14, 1, 2, 4 }, + { 6, 19, 15, 1, 2, 4 }, { 5, 19, 16, 1, 2, 4 }, { 4, 20, 16, 1, 2, 4 }, { 3, 20, 17, 1, 2, 4 }, { 2, 20, 17, 1, 2, 4 }, + { 1, 21, 18, 1, 2, 4 }, { 0, 21, 19, 1, 2, 4 }, { -1, 21, 19, 2, 2, 4 }, { -2, 21, 20, 2, 2, 4 }, { -3, 22, 20, 2, 2, 4 }, + { -4, 22, 21, 2, 2, 4 }, { -5, 22, 22, 2, 2, 4 }, { -6, 23, 22, 2, 2, 4 }, { -7, 23, 23, 2, 2, 4 }, { -8, 24, 23, 2, 2, 4 }, + { -9, 24, 24, 2, 2, 4 }, { -10, 24, 25, 2, 2, 4 }, { -11, 25, 25, 2, 2, 4 }, { -12, 25, 26, 2, 2, 4 }, { -13, 25, 26, 2, 2, 4 }, + { -14, 26, 27, 2, 2, 4 }, { -15, 26, 28, 2, 2, 4 }, { -16, 27, 28, 2, 2, 4 }, { -17, 27, 29, 2, 2, 4 }, { -18, 28, 30, 2, 2, 4 }, + { -19, 28, 30, 2, 2, 4 }, { -20, 29, 31, 2, 2, 4 }, { -21, 29, 31, 2, 2, 4 }, { -22, 30, 32, 2, 2, 4 }, { -23, 30, 33, 2, 2, 4 }, + { -24, 31, 33, 3, 2, 4 }, { -25, 31, 34, 3, 2, 4 }, { -26, 32, 35, 3, 2, 4 }, { -27, 32, 35, 3, 2, 4 }, { -28, 33, 36, 3, 2, 4 }, + { -29, 34, 36, 3, 2, 4 }, { -30, 34, 37, 3, 2, 4 }, { -31, 35, 38, 3, 2, 4 }, { -32, 36, 38, 3, 2, 4 }, { -33, 36, 39, 3, 2, 4 }, + { -34, 37, 39, 3, 2, 4 }, { -35, 38, 40, 3, 2, 4 }, { -36, 38, 41, 3, 2, 4 }, { -37, 39, 41, 3, 2, 4 }, { -38, 40, 42, 3, 2, 4 }, + { -39, 41, 43, 3, 2, 4 }, { -40, 41, 43, 3, 2, 4 }, { -41, 42, 44, 3, 2, 4 }, { -42, 43, 44, 4, 2, 4 }, { -43, 44, 45, 4, 2, 4 }, + { -44, 45, 46, 4, 2, 4 }, { -45, 46, 46, 4, 2, 4 }, { -46, 47, 47, 4, 2, 4 }, { -47, 47, 48, 4, 2, 4 }, { -48, 48, 48, 4, 2, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagUp251, { + { 16, 0, 0, 8, 2, 4 }, { 16, 1, 1, 8, 2, 4 }, { 16, 2, 1, 8, 2, 4 }, { 16, 3, 2, 8, 2, 4 }, { 16, 4, 2, 8, 2, 4 }, + { 16, 5, 3, 8, 2, 4 }, { 16, 6, 4, 8, 2, 4 }, { 16, 7, 4, 8, 2, 4 }, { 16, 8, 5, 8, 2, 4 }, { 16, 9, 5, 8, 2, 4 }, + { 17, 10, 6, 8, 2, 4 }, { 17, 11, 6, 9, 2, 4 }, { 17, 12, 7, 9, 2, 4 }, { 17, 13, 7, 9, 2, 4 }, { 17, 14, 8, 9, 2, 4 }, + { 17, 15, 9, 9, 2, 4 }, { 17, 16, 9, 9, 2, 4 }, { 17, 17, 10, 9, 2, 4 }, { 18, 18, 10, 9, 2, 4 }, { 18, 19, 11, 9, 2, 4 }, + { 18, 20, 12, 9, 2, 4 }, { 18, 21, 12, 9, 2, 4 }, { 18, 22, 13, 9, 2, 4 }, { 19, 23, 13, 9, 2, 4 }, { 19, 24, 14, 9, 2, 4 }, + { 19, 25, 14, 9, 2, 4 }, { 19, 26, 15, 9, 2, 4 }, { 19, 27, 16, 9, 2, 4 }, { 20, 28, 16, 9, 2, 4 }, { 20, 29, 17, 9, 2, 4 }, + { 20, 30, 17, 9, 2, 4 }, { 21, 31, 18, 9, 2, 4 }, { 21, 32, 19, 9, 2, 4 }, { 21, 33, 19, 10, 2, 4 }, { 21, 34, 20, 10, 2, 4 }, + { 22, 35, 20, 10, 2, 4 }, { 22, 36, 21, 10, 2, 4 }, { 22, 37, 22, 10, 2, 4 }, { 23, 38, 22, 10, 2, 4 }, { 23, 39, 23, 10, 2, 4 }, + { 24, 40, 23, 10, 2, 4 }, { 24, 41, 24, 10, 2, 4 }, { 24, 42, 25, 10, 2, 4 }, { 25, 43, 25, 10, 2, 4 }, { 25, 44, 26, 10, 2, 4 }, + { 25, 45, 26, 10, 2, 4 }, { 26, 46, 27, 10, 2, 4 }, { 26, 47, 28, 10, 2, 4 }, { 27, 48, 28, 10, 2, 4 }, { 27, 49, 29, 10, 2, 4 }, + { 28, 50, 30, 10, 2, 4 }, { 28, 51, 30, 10, 2, 4 }, { 29, 52, 31, 10, 2, 4 }, { 29, 53, 31, 10, 2, 4 }, { 30, 54, 32, 10, 2, 4 }, + { 30, 55, 33, 10, 2, 4 }, { 31, 56, 33, 11, 2, 4 }, { 31, 57, 34, 11, 2, 4 }, { 32, 58, 35, 11, 2, 4 }, { 32, 59, 35, 11, 2, 4 }, + { 33, 60, 36, 11, 2, 4 }, { 34, 61, 36, 11, 2, 4 }, { 34, 62, 37, 11, 2, 4 }, { 35, 63, 38, 11, 2, 4 }, { 36, 64, 38, 11, 2, 4 }, + { 36, 65, 39, 11, 2, 4 }, { 37, 66, 39, 11, 2, 4 }, { 38, 67, 40, 11, 2, 4 }, { 38, 68, 41, 11, 2, 4 }, { 39, 69, 41, 11, 2, 4 }, + { 40, 70, 42, 11, 2, 4 }, { 41, 71, 43, 11, 2, 4 }, { 41, 72, 43, 11, 2, 4 }, { 42, 73, 44, 11, 2, 4 }, { 43, 74, 44, 12, 2, 4 }, + { 44, 75, 45, 12, 2, 4 }, { 45, 76, 46, 12, 2, 4 }, { 46, 77, 46, 12, 2, 4 }, { 47, 78, 47, 12, 2, 4 }, { 47, 79, 48, 12, 2, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagUp252, { + { 0, 16, 0, 16, 2, 4 }, { 1, 16, 1, 16, 2, 4 }, { 2, 16, 1, 16, 2, 4 }, { 3, 16, 2, 16, 2, 4 }, { 4, 16, 2, 16, 2, 4 }, + { 5, 16, 3, 16, 2, 4 }, { 6, 16, 4, 16, 2, 4 }, { 7, 16, 4, 16, 2, 4 }, { 8, 16, 5, 16, 2, 4 }, { 9, 16, 5, 16, 2, 4 }, + { 10, 15, 6, 16, 2, 4 }, { 11, 15, 6, 17, 2, 4 }, { 12, 15, 7, 17, 2, 4 }, { 13, 15, 7, 17, 2, 4 }, { 14, 15, 8, 17, 2, 4 }, + { 15, 15, 9, 17, 2, 4 }, { 16, 15, 9, 17, 2, 4 }, { 17, 15, 10, 17, 2, 4 }, { 18, 14, 10, 17, 2, 4 }, { 19, 14, 11, 17, 2, 4 }, + { 20, 14, 12, 17, 2, 4 }, { 21, 14, 12, 17, 2, 4 }, { 22, 14, 13, 17, 2, 4 }, { 23, 13, 13, 17, 2, 4 }, { 24, 13, 14, 17, 2, 4 }, + { 25, 13, 14, 17, 2, 4 }, { 26, 13, 15, 17, 2, 4 }, { 27, 13, 16, 17, 2, 4 }, { 28, 12, 16, 17, 2, 4 }, { 29, 12, 17, 17, 2, 4 }, + { 30, 12, 17, 17, 2, 4 }, { 31, 11, 18, 17, 2, 4 }, { 32, 11, 19, 17, 2, 4 }, { 33, 11, 19, 18, 2, 4 }, { 34, 11, 20, 18, 2, 4 }, + { 35, 10, 20, 18, 2, 4 }, { 36, 10, 21, 18, 2, 4 }, { 37, 10, 22, 18, 2, 4 }, { 38, 9, 22, 18, 2, 4 }, { 39, 9, 23, 18, 2, 4 }, + { 40, 8, 23, 18, 2, 4 }, { 41, 8, 24, 18, 2, 4 }, { 42, 8, 25, 18, 2, 4 }, { 43, 7, 25, 18, 2, 4 }, { 44, 7, 26, 18, 2, 4 }, + { 45, 7, 26, 18, 2, 4 }, { 46, 6, 27, 18, 2, 4 }, { 47, 6, 28, 18, 2, 4 }, { 48, 5, 28, 18, 2, 4 }, { 49, 5, 29, 18, 2, 4 }, + { 50, 4, 30, 18, 2, 4 }, { 51, 4, 30, 18, 2, 4 }, { 52, 3, 31, 18, 2, 4 }, { 53, 3, 31, 18, 2, 4 }, { 54, 2, 32, 18, 2, 4 }, + { 55, 2, 33, 18, 2, 4 }, { 56, 1, 33, 19, 2, 4 }, { 57, 1, 34, 19, 2, 4 }, { 58, 0, 35, 19, 2, 4 }, { 59, 0, 35, 19, 2, 4 }, + { 60, -1, 36, 19, 2, 4 }, { 61, -2, 36, 19, 2, 4 }, { 62, -2, 37, 19, 2, 4 }, { 63, -3, 38, 19, 2, 4 }, { 64, -4, 38, 19, 2, 4 }, + { 65, -4, 39, 19, 2, 4 }, { 66, -5, 39, 19, 2, 4 }, { 67, -6, 40, 19, 2, 4 }, { 68, -6, 41, 19, 2, 4 }, { 69, -7, 41, 19, 2, 4 }, + { 70, -8, 42, 19, 2, 4 }, { 71, -9, 43, 19, 2, 4 }, { 72, -9, 43, 19, 2, 4 }, { 73, -10, 44, 19, 2, 4 }, { 74, -11, 44, 20, 2, 4 }, + { 75, -12, 45, 20, 2, 4 }, { 76, -13, 46, 20, 2, 4 }, { 77, -14, 46, 20, 2, 4 }, { 78, -15, 47, 20, 2, 4 }, { 79, -15, 48, 20, 2, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagUp253, { + { 16, 31, 1, 24, 2, 4 }, { 16, 30, 1, 24, 2, 4 }, { 16, 29, 2, 24, 2, 4 }, { 16, 28, 2, 24, 2, 4 }, { 16, 27, 3, 24, 2, 4 }, + { 16, 26, 4, 24, 2, 4 }, { 16, 25, 4, 24, 2, 4 }, { 16, 24, 5, 24, 2, 4 }, { 16, 23, 5, 24, 2, 4 }, { 15, 22, 6, 24, 2, 4 }, + { 15, 21, 6, 25, 2, 4 }, { 15, 20, 7, 25, 2, 4 }, { 15, 19, 7, 25, 2, 4 }, { 15, 18, 8, 25, 2, 4 }, { 15, 17, 9, 25, 2, 4 }, + { 15, 16, 9, 25, 2, 4 }, { 15, 15, 10, 25, 2, 4 }, { 14, 14, 10, 25, 2, 4 }, { 14, 13, 11, 25, 2, 4 }, { 14, 12, 12, 25, 2, 4 }, + { 14, 11, 12, 25, 2, 4 }, { 14, 10, 13, 25, 2, 4 }, { 13, 9, 13, 25, 2, 4 }, { 13, 8, 14, 25, 2, 4 }, { 13, 7, 14, 25, 2, 4 }, + { 13, 6, 15, 25, 2, 4 }, { 13, 5, 16, 25, 2, 4 }, { 12, 4, 16, 25, 2, 4 }, { 12, 3, 17, 25, 2, 4 }, { 12, 2, 17, 25, 2, 4 }, + { 11, 1, 18, 25, 2, 4 }, { 11, 0, 19, 25, 2, 4 }, { 11, -1, 19, 26, 2, 4 }, { 11, -2, 20, 26, 2, 4 }, { 10, -3, 20, 26, 2, 4 }, + { 10, -4, 21, 26, 2, 4 }, { 10, -5, 22, 26, 2, 4 }, { 9, -6, 22, 26, 2, 4 }, { 9, -7, 23, 26, 2, 4 }, { 8, -8, 23, 26, 2, 4 }, + { 8, -9, 24, 26, 2, 4 }, { 8, -10, 25, 26, 2, 4 }, { 7, -11, 25, 26, 2, 4 }, { 7, -12, 26, 26, 2, 4 }, { 7, -13, 26, 26, 2, 4 }, + { 6, -14, 27, 26, 2, 4 }, { 6, -15, 28, 26, 2, 4 }, { 5, -16, 28, 26, 2, 4 }, { 5, -17, 29, 26, 2, 4 }, { 4, -18, 30, 26, 2, 4 }, + { 4, -19, 30, 26, 2, 4 }, { 3, -20, 31, 26, 2, 4 }, { 3, -21, 31, 26, 2, 4 }, { 2, -22, 32, 26, 2, 4 }, { 2, -23, 33, 26, 2, 4 }, + { 1, -24, 33, 27, 2, 4 }, { 1, -25, 34, 27, 2, 4 }, { 0, -26, 35, 27, 2, 4 }, { 0, -27, 35, 27, 2, 4 }, { -1, -28, 36, 27, 2, 4 }, + { -2, -29, 36, 27, 2, 4 }, { -2, -30, 37, 27, 2, 4 }, { -3, -31, 38, 27, 2, 4 }, { -4, -32, 38, 27, 2, 4 }, { -4, -33, 39, 27, 2, 4 }, + { -5, -34, 39, 27, 2, 4 }, { -6, -35, 40, 27, 2, 4 }, { -6, -36, 41, 27, 2, 4 }, { -7, -37, 41, 27, 2, 4 }, { -8, -38, 42, 27, 2, 4 }, + { -9, -39, 43, 27, 2, 4 }, { -9, -40, 43, 27, 2, 4 }, { -10, -41, 44, 27, 2, 4 }, { -11, -42, 44, 28, 2, 4 }, { -12, -43, 45, 28, 2, 4 }, + { -13, -44, 46, 28, 2, 4 }, { -14, -45, 46, 28, 2, 4 }, { -15, -46, 47, 28, 2, 4 }, { -15, -47, 48, 28, 2, 4 }, { -16, -48, 48, 28, 2, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagDown250, { + { 31, 16, 15, 0, 6, 2 }, { 30, 16, 15, 0, 6, 2 }, { 29, 16, 14, 0, 6, 2 }, { 28, 16, 14, 0, 6, 2 }, { 27, 16, 13, 0, 6, 2 }, + { 26, 16, 12, 0, 6, 2 }, { 25, 16, 12, 0, 6, 2 }, { 24, 16, 11, 0, 6, 2 }, { 23, 16, 11, 0, 6, 2 }, { 22, 15, 10, 0, 6, 2 }, + { 21, 15, 10, 31, 6, 2 }, { 20, 15, 9, 31, 6, 2 }, { 19, 15, 9, 31, 6, 2 }, { 18, 15, 8, 31, 6, 2 }, { 17, 15, 7, 31, 6, 2 }, + { 16, 15, 7, 31, 6, 2 }, { 15, 15, 6, 31, 6, 2 }, { 14, 14, 6, 31, 6, 2 }, { 13, 14, 5, 31, 6, 2 }, { 12, 14, 4, 31, 6, 2 }, + { 11, 14, 4, 31, 6, 2 }, { 10, 14, 3, 31, 6, 2 }, { 9, 13, 3, 31, 6, 2 }, { 8, 13, 2, 31, 6, 2 }, { 7, 13, 2, 31, 6, 2 }, + { 6, 13, 1, 31, 6, 2 }, { 5, 13, 0, 31, 6, 2 }, { 4, 12, 0, 31, 6, 2 }, { 3, 12, -1, 31, 6, 2 }, { 2, 12, -1, 31, 6, 2 }, + { 1, 11, -2, 31, 6, 2 }, { 0, 11, -3, 31, 6, 2 }, { -1, 11, -3, 30, 6, 2 }, { -2, 11, -4, 30, 6, 2 }, { -3, 10, -4, 30, 6, 2 }, + { -4, 10, -5, 30, 6, 2 }, { -5, 10, -6, 30, 6, 2 }, { -6, 9, -6, 30, 6, 2 }, { -7, 9, -7, 30, 6, 2 }, { -8, 8, -7, 30, 6, 2 }, + { -9, 8, -8, 30, 6, 2 }, { -10, 8, -9, 30, 6, 2 }, { -11, 7, -9, 30, 6, 2 }, { -12, 7, -10, 30, 6, 2 }, { -13, 7, -10, 30, 6, 2 }, + { -14, 6, -11, 30, 6, 2 }, { -15, 6, -12, 30, 6, 2 }, { -16, 5, -12, 30, 6, 2 }, { -17, 5, -13, 30, 6, 2 }, { -18, 4, -14, 30, 6, 2 }, + { -19, 4, -14, 30, 6, 2 }, { -20, 3, -15, 30, 6, 2 }, { -21, 3, -15, 30, 6, 2 }, { -22, 2, -16, 30, 6, 2 }, { -23, 2, -17, 30, 6, 2 }, + { -24, 1, -17, 29, 6, 2 }, { -25, 1, -18, 29, 6, 2 }, { -26, 0, -19, 29, 6, 2 }, { -27, 0, -19, 29, 6, 2 }, { -28, -1, -20, 29, 6, 2 }, + { -29, -2, -20, 29, 6, 2 }, { -30, -2, -21, 29, 6, 2 }, { -31, -3, -22, 29, 6, 2 }, { -32, -4, -22, 29, 6, 2 }, { -33, -4, -23, 29, 6, 2 }, + { -34, -5, -23, 29, 6, 2 }, { -35, -6, -24, 29, 6, 2 }, { -36, -6, -25, 29, 6, 2 }, { -37, -7, -25, 29, 6, 2 }, { -38, -8, -26, 29, 6, 2 }, + { -39, -9, -27, 29, 6, 2 }, { -40, -9, -27, 29, 6, 2 }, { -41, -10, -28, 29, 6, 2 }, { -42, -11, -28, 28, 6, 2 }, { -43, -12, -29, 28, 6, 2 }, + { -44, -13, -30, 28, 6, 2 }, { -45, -14, -30, 28, 6, 2 }, { -46, -15, -31, 28, 6, 2 }, { -47, -15, -32, 28, 6, 2 }, { -48, -16, -32, 28, 6, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagDown251, { + { 16, 0, 16, 8, 6, 2 }, { 16, 1, 15, 8, 6, 2 }, { 16, 2, 15, 8, 6, 2 }, { 16, 3, 14, 8, 6, 2 }, { 16, 4, 14, 8, 6, 2 }, + { 16, 5, 13, 8, 6, 2 }, { 16, 6, 12, 8, 6, 2 }, { 16, 7, 12, 8, 6, 2 }, { 16, 8, 11, 8, 6, 2 }, { 16, 9, 11, 8, 6, 2 }, + { 15, 10, 10, 8, 6, 2 }, { 15, 11, 10, 7, 6, 2 }, { 15, 12, 9, 7, 6, 2 }, { 15, 13, 9, 7, 6, 2 }, { 15, 14, 8, 7, 6, 2 }, + { 15, 15, 7, 7, 6, 2 }, { 15, 16, 7, 7, 6, 2 }, { 15, 17, 6, 7, 6, 2 }, { 14, 18, 6, 7, 6, 2 }, { 14, 19, 5, 7, 6, 2 }, + { 14, 20, 4, 7, 6, 2 }, { 14, 21, 4, 7, 6, 2 }, { 14, 22, 3, 7, 6, 2 }, { 13, 23, 3, 7, 6, 2 }, { 13, 24, 2, 7, 6, 2 }, + { 13, 25, 2, 7, 6, 2 }, { 13, 26, 1, 7, 6, 2 }, { 13, 27, 0, 7, 6, 2 }, { 12, 28, 0, 7, 6, 2 }, { 12, 29, -1, 7, 6, 2 }, + { 12, 30, -1, 7, 6, 2 }, { 11, 31, -2, 7, 6, 2 }, { 11, 32, -3, 7, 6, 2 }, { 11, 33, -3, 6, 6, 2 }, { 11, 34, -4, 6, 6, 2 }, + { 10, 35, -4, 6, 6, 2 }, { 10, 36, -5, 6, 6, 2 }, { 10, 37, -6, 6, 6, 2 }, { 9, 38, -6, 6, 6, 2 }, { 9, 39, -7, 6, 6, 2 }, + { 8, 40, -7, 6, 6, 2 }, { 8, 41, -8, 6, 6, 2 }, { 8, 42, -9, 6, 6, 2 }, { 7, 43, -9, 6, 6, 2 }, { 7, 44, -10, 6, 6, 2 }, + { 7, 45, -10, 6, 6, 2 }, { 6, 46, -11, 6, 6, 2 }, { 6, 47, -12, 6, 6, 2 }, { 5, 48, -12, 6, 6, 2 }, { 5, 49, -13, 6, 6, 2 }, + { 4, 50, -14, 6, 6, 2 }, { 4, 51, -14, 6, 6, 2 }, { 3, 52, -15, 6, 6, 2 }, { 3, 53, -15, 6, 6, 2 }, { 2, 54, -16, 6, 6, 2 }, + { 2, 55, -17, 6, 6, 2 }, { 1, 56, -17, 5, 6, 2 }, { 1, 57, -18, 5, 6, 2 }, { 0, 58, -19, 5, 6, 2 }, { 0, 59, -19, 5, 6, 2 }, + { -1, 60, -20, 5, 6, 2 }, { -2, 61, -20, 5, 6, 2 }, { -2, 62, -21, 5, 6, 2 }, { -3, 63, -22, 5, 6, 2 }, { -4, 64, -22, 5, 6, 2 }, + { -4, 65, -23, 5, 6, 2 }, { -5, 66, -23, 5, 6, 2 }, { -6, 67, -24, 5, 6, 2 }, { -6, 68, -25, 5, 6, 2 }, { -7, 69, -25, 5, 6, 2 }, + { -8, 70, -26, 5, 6, 2 }, { -9, 71, -27, 5, 6, 2 }, { -9, 72, -27, 5, 6, 2 }, { -10, 73, -28, 5, 6, 2 }, { -11, 74, -28, 4, 6, 2 }, + { -12, 75, -29, 4, 6, 2 }, { -13, 76, -30, 4, 6, 2 }, { -14, 77, -30, 4, 6, 2 }, { -15, 78, -31, 4, 6, 2 }, { -15, 79, -32, 4, 6, 2 }, + { -16, 80, -32, 4, 6, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagDown252, { + { 0, 16, 16, 16, 6, 2 }, { 1, 16, 15, 16, 6, 2 }, { 2, 16, 15, 16, 6, 2 }, { 3, 16, 14, 16, 6, 2 }, { 4, 16, 14, 16, 6, 2 }, + { 5, 16, 13, 16, 6, 2 }, { 6, 16, 12, 16, 6, 2 }, { 7, 16, 12, 16, 6, 2 }, { 8, 16, 11, 16, 6, 2 }, { 9, 16, 11, 16, 6, 2 }, + { 10, 17, 10, 16, 6, 2 }, { 11, 17, 10, 15, 6, 2 }, { 12, 17, 9, 15, 6, 2 }, { 13, 17, 9, 15, 6, 2 }, { 14, 17, 8, 15, 6, 2 }, + { 15, 17, 7, 15, 6, 2 }, { 16, 17, 7, 15, 6, 2 }, { 17, 17, 6, 15, 6, 2 }, { 18, 18, 6, 15, 6, 2 }, { 19, 18, 5, 15, 6, 2 }, + { 20, 18, 4, 15, 6, 2 }, { 21, 18, 4, 15, 6, 2 }, { 22, 18, 3, 15, 6, 2 }, { 23, 19, 3, 15, 6, 2 }, { 24, 19, 2, 15, 6, 2 }, + { 25, 19, 2, 15, 6, 2 }, { 26, 19, 1, 15, 6, 2 }, { 27, 19, 0, 15, 6, 2 }, { 28, 20, 0, 15, 6, 2 }, { 29, 20, -1, 15, 6, 2 }, + { 30, 20, -1, 15, 6, 2 }, { 31, 21, -2, 15, 6, 2 }, { 32, 21, -3, 15, 6, 2 }, { 33, 21, -3, 14, 6, 2 }, { 34, 21, -4, 14, 6, 2 }, + { 35, 22, -4, 14, 6, 2 }, { 36, 22, -5, 14, 6, 2 }, { 37, 22, -6, 14, 6, 2 }, { 38, 23, -6, 14, 6, 2 }, { 39, 23, -7, 14, 6, 2 }, + { 40, 24, -7, 14, 6, 2 }, { 41, 24, -8, 14, 6, 2 }, { 42, 24, -9, 14, 6, 2 }, { 43, 25, -9, 14, 6, 2 }, { 44, 25, -10, 14, 6, 2 }, + { 45, 25, -10, 14, 6, 2 }, { 46, 26, -11, 14, 6, 2 }, { 47, 26, -12, 14, 6, 2 }, { 48, 27, -12, 14, 6, 2 }, { 49, 27, -13, 14, 6, 2 }, + { 50, 28, -14, 14, 6, 2 }, { 51, 28, -14, 14, 6, 2 }, { 52, 29, -15, 14, 6, 2 }, { 53, 29, -15, 14, 6, 2 }, { 54, 30, -16, 14, 6, 2 }, + { 55, 30, -17, 14, 6, 2 }, { 56, 31, -17, 13, 6, 2 }, { 57, 31, -18, 13, 6, 2 }, { 58, 32, -19, 13, 6, 2 }, { 59, 32, -19, 13, 6, 2 }, + { 60, 33, -20, 13, 6, 2 }, { 61, 34, -20, 13, 6, 2 }, { 62, 34, -21, 13, 6, 2 }, { 63, 35, -22, 13, 6, 2 }, { 64, 36, -22, 13, 6, 2 }, + { 65, 36, -23, 13, 6, 2 }, { 66, 37, -23, 13, 6, 2 }, { 67, 38, -24, 13, 6, 2 }, { 68, 38, -25, 13, 6, 2 }, { 69, 39, -25, 13, 6, 2 }, + { 70, 40, -26, 13, 6, 2 }, { 71, 41, -27, 13, 6, 2 }, { 72, 41, -27, 13, 6, 2 }, { 73, 42, -28, 13, 6, 2 }, { 74, 43, -28, 12, 6, 2 }, + { 75, 44, -29, 12, 6, 2 }, { 76, 45, -30, 12, 6, 2 }, { 77, 46, -30, 12, 6, 2 }, { 78, 47, -31, 12, 6, 2 }, { 79, 47, -32, 12, 6, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToDiagDown253, { + { 16, 31, 15, 24, 6, 2 }, { 16, 30, 15, 24, 6, 2 }, { 16, 29, 14, 24, 6, 2 }, { 16, 28, 14, 24, 6, 2 }, { 16, 27, 13, 24, 6, 2 }, + { 16, 26, 12, 24, 6, 2 }, { 16, 25, 12, 24, 6, 2 }, { 16, 24, 11, 24, 6, 2 }, { 16, 23, 11, 24, 6, 2 }, { 17, 22, 10, 24, 6, 2 }, + { 17, 21, 10, 23, 6, 2 }, { 17, 20, 9, 23, 6, 2 }, { 17, 19, 9, 23, 6, 2 }, { 17, 18, 8, 23, 6, 2 }, { 17, 17, 7, 23, 6, 2 }, + { 17, 16, 7, 23, 6, 2 }, { 17, 15, 6, 23, 6, 2 }, { 18, 14, 6, 23, 6, 2 }, { 18, 13, 5, 23, 6, 2 }, { 18, 12, 4, 23, 6, 2 }, + { 18, 11, 4, 23, 6, 2 }, { 18, 10, 3, 23, 6, 2 }, { 19, 9, 3, 23, 6, 2 }, { 19, 8, 2, 23, 6, 2 }, { 19, 7, 2, 23, 6, 2 }, + { 19, 6, 1, 23, 6, 2 }, { 19, 5, 0, 23, 6, 2 }, { 20, 4, 0, 23, 6, 2 }, { 20, 3, -1, 23, 6, 2 }, { 20, 2, -1, 23, 6, 2 }, + { 21, 1, -2, 23, 6, 2 }, { 21, 0, -3, 23, 6, 2 }, { 21, -1, -3, 22, 6, 2 }, { 21, -2, -4, 22, 6, 2 }, { 22, -3, -4, 22, 6, 2 }, + { 22, -4, -5, 22, 6, 2 }, { 22, -5, -6, 22, 6, 2 }, { 23, -6, -6, 22, 6, 2 }, { 23, -7, -7, 22, 6, 2 }, { 24, -8, -7, 22, 6, 2 }, + { 24, -9, -8, 22, 6, 2 }, { 24, -10, -9, 22, 6, 2 }, { 25, -11, -9, 22, 6, 2 }, { 25, -12, -10, 22, 6, 2 }, { 25, -13, -10, 22, 6, 2 }, + { 26, -14, -11, 22, 6, 2 }, { 26, -15, -12, 22, 6, 2 }, { 27, -16, -12, 22, 6, 2 }, { 27, -17, -13, 22, 6, 2 }, { 28, -18, -14, 22, 6, 2 }, + { 28, -19, -14, 22, 6, 2 }, { 29, -20, -15, 22, 6, 2 }, { 29, -21, -15, 22, 6, 2 }, { 30, -22, -16, 22, 6, 2 }, { 30, -23, -17, 22, 6, 2 }, + { 31, -24, -17, 21, 6, 2 }, { 31, -25, -18, 21, 6, 2 }, { 32, -26, -19, 21, 6, 2 }, { 32, -27, -19, 21, 6, 2 }, { 33, -28, -20, 21, 6, 2 }, + { 34, -29, -20, 21, 6, 2 }, { 34, -30, -21, 21, 6, 2 }, { 35, -31, -22, 21, 6, 2 }, { 36, -32, -22, 21, 6, 2 }, { 36, -33, -23, 21, 6, 2 }, + { 37, -34, -23, 21, 6, 2 }, { 38, -35, -24, 21, 6, 2 }, { 38, -36, -25, 21, 6, 2 }, { 39, -37, -25, 21, 6, 2 }, { 40, -38, -26, 21, 6, 2 }, + { 41, -39, -27, 21, 6, 2 }, { 41, -40, -27, 21, 6, 2 }, { 42, -41, -28, 21, 6, 2 }, { 43, -42, -28, 20, 6, 2 }, { 44, -43, -29, 20, 6, 2 }, + { 45, -44, -30, 20, 6, 2 }, { 46, -45, -30, 20, 6, 2 }, { 47, -46, -31, 20, 6, 2 }, { 47, -47, -32, 20, 6, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagDown250, { + { 31, 16, 15, 0, 6, 4 }, { 30, 16, 15, 0, 6, 4 }, { 29, 16, 14, 0, 6, 4 }, { 28, 16, 14, 0, 6, 4 }, { 27, 16, 13, 0, 6, 4 }, + { 26, 16, 12, 0, 6, 4 }, { 25, 16, 12, 0, 6, 4 }, { 24, 16, 11, 0, 6, 4 }, { 23, 16, 11, 0, 6, 4 }, { 22, 17, 10, 0, 6, 4 }, + { 21, 17, 10, 1, 6, 4 }, { 20, 17, 9, 1, 6, 4 }, { 19, 17, 9, 1, 6, 4 }, { 18, 17, 8, 1, 6, 4 }, { 17, 17, 7, 1, 6, 4 }, + { 16, 17, 7, 1, 6, 4 }, { 15, 17, 6, 1, 6, 4 }, { 14, 18, 6, 1, 6, 4 }, { 13, 18, 5, 1, 6, 4 }, { 12, 18, 4, 1, 6, 4 }, + { 11, 18, 4, 1, 6, 4 }, { 10, 18, 3, 1, 6, 4 }, { 9, 19, 3, 1, 6, 4 }, { 8, 19, 2, 1, 6, 4 }, { 7, 19, 2, 1, 6, 4 }, + { 6, 19, 1, 1, 6, 4 }, { 5, 19, 0, 1, 6, 4 }, { 4, 20, 0, 1, 6, 4 }, { 3, 20, -1, 1, 6, 4 }, { 2, 20, -1, 1, 6, 4 }, + { 1, 21, -2, 1, 6, 4 }, { 0, 21, -3, 1, 6, 4 }, { -1, 21, -3, 2, 6, 4 }, { -2, 21, -4, 2, 6, 4 }, { -3, 22, -4, 2, 6, 4 }, + { -4, 22, -5, 2, 6, 4 }, { -5, 22, -6, 2, 6, 4 }, { -6, 23, -6, 2, 6, 4 }, { -7, 23, -7, 2, 6, 4 }, { -8, 24, -7, 2, 6, 4 }, + { -9, 24, -8, 2, 6, 4 }, { -10, 24, -9, 2, 6, 4 }, { -11, 25, -9, 2, 6, 4 }, { -12, 25, -10, 2, 6, 4 }, { -13, 25, -10, 2, 6, 4 }, + { -14, 26, -11, 2, 6, 4 }, { -15, 26, -12, 2, 6, 4 }, { -16, 27, -12, 2, 6, 4 }, { -17, 27, -13, 2, 6, 4 }, { -18, 28, -14, 2, 6, 4 }, + { -19, 28, -14, 2, 6, 4 }, { -20, 29, -15, 2, 6, 4 }, { -21, 29, -15, 2, 6, 4 }, { -22, 30, -16, 2, 6, 4 }, { -23, 30, -17, 2, 6, 4 }, + { -24, 31, -17, 3, 6, 4 }, { -25, 31, -18, 3, 6, 4 }, { -26, 32, -19, 3, 6, 4 }, { -27, 32, -19, 3, 6, 4 }, { -28, 33, -20, 3, 6, 4 }, + { -29, 34, -20, 3, 6, 4 }, { -30, 34, -21, 3, 6, 4 }, { -31, 35, -22, 3, 6, 4 }, { -32, 36, -22, 3, 6, 4 }, { -33, 36, -23, 3, 6, 4 }, + { -34, 37, -23, 3, 6, 4 }, { -35, 38, -24, 3, 6, 4 }, { -36, 38, -25, 3, 6, 4 }, { -37, 39, -25, 3, 6, 4 }, { -38, 40, -26, 3, 6, 4 }, + { -39, 41, -27, 3, 6, 4 }, { -40, 41, -27, 3, 6, 4 }, { -41, 42, -28, 3, 6, 4 }, { -42, 43, -28, 4, 6, 4 }, { -43, 44, -29, 4, 6, 4 }, + { -44, 45, -30, 4, 6, 4 }, { -45, 46, -30, 4, 6, 4 }, { -46, 47, -31, 4, 6, 4 }, { -47, 47, -32, 4, 6, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagDown251, { + { 16, 0, 16, 8, 6, 4 }, { 16, 1, 15, 8, 6, 4 }, { 16, 2, 15, 8, 6, 4 }, { 16, 3, 14, 8, 6, 4 }, { 16, 4, 14, 8, 6, 4 }, + { 16, 5, 13, 8, 6, 4 }, { 16, 6, 12, 8, 6, 4 }, { 16, 7, 12, 8, 6, 4 }, { 16, 8, 11, 8, 6, 4 }, { 16, 9, 11, 8, 6, 4 }, + { 17, 10, 10, 8, 6, 4 }, { 17, 11, 10, 9, 6, 4 }, { 17, 12, 9, 9, 6, 4 }, { 17, 13, 9, 9, 6, 4 }, { 17, 14, 8, 9, 6, 4 }, + { 17, 15, 7, 9, 6, 4 }, { 17, 16, 7, 9, 6, 4 }, { 17, 17, 6, 9, 6, 4 }, { 18, 18, 6, 9, 6, 4 }, { 18, 19, 5, 9, 6, 4 }, + { 18, 20, 4, 9, 6, 4 }, { 18, 21, 4, 9, 6, 4 }, { 18, 22, 3, 9, 6, 4 }, { 19, 23, 3, 9, 6, 4 }, { 19, 24, 2, 9, 6, 4 }, + { 19, 25, 2, 9, 6, 4 }, { 19, 26, 1, 9, 6, 4 }, { 19, 27, 0, 9, 6, 4 }, { 20, 28, 0, 9, 6, 4 }, { 20, 29, -1, 9, 6, 4 }, + { 20, 30, -1, 9, 6, 4 }, { 21, 31, -2, 9, 6, 4 }, { 21, 32, -3, 9, 6, 4 }, { 21, 33, -3, 10, 6, 4 }, { 21, 34, -4, 10, 6, 4 }, + { 22, 35, -4, 10, 6, 4 }, { 22, 36, -5, 10, 6, 4 }, { 22, 37, -6, 10, 6, 4 }, { 23, 38, -6, 10, 6, 4 }, { 23, 39, -7, 10, 6, 4 }, + { 24, 40, -7, 10, 6, 4 }, { 24, 41, -8, 10, 6, 4 }, { 24, 42, -9, 10, 6, 4 }, { 25, 43, -9, 10, 6, 4 }, { 25, 44, -10, 10, 6, 4 }, + { 25, 45, -10, 10, 6, 4 }, { 26, 46, -11, 10, 6, 4 }, { 26, 47, -12, 10, 6, 4 }, { 27, 48, -12, 10, 6, 4 }, { 27, 49, -13, 10, 6, 4 }, + { 28, 50, -14, 10, 6, 4 }, { 28, 51, -14, 10, 6, 4 }, { 29, 52, -15, 10, 6, 4 }, { 29, 53, -15, 10, 6, 4 }, { 30, 54, -16, 10, 6, 4 }, + { 30, 55, -17, 10, 6, 4 }, { 31, 56, -17, 11, 6, 4 }, { 31, 57, -18, 11, 6, 4 }, { 32, 58, -19, 11, 6, 4 }, { 32, 59, -19, 11, 6, 4 }, + { 33, 60, -20, 11, 6, 4 }, { 34, 61, -20, 11, 6, 4 }, { 34, 62, -21, 11, 6, 4 }, { 35, 63, -22, 11, 6, 4 }, { 36, 64, -22, 11, 6, 4 }, + { 36, 65, -23, 11, 6, 4 }, { 37, 66, -23, 11, 6, 4 }, { 38, 67, -24, 11, 6, 4 }, { 38, 68, -25, 11, 6, 4 }, { 39, 69, -25, 11, 6, 4 }, + { 40, 70, -26, 11, 6, 4 }, { 41, 71, -27, 11, 6, 4 }, { 41, 72, -27, 11, 6, 4 }, { 42, 73, -28, 11, 6, 4 }, { 43, 74, -28, 12, 6, 4 }, + { 44, 75, -29, 12, 6, 4 }, { 45, 76, -30, 12, 6, 4 }, { 46, 77, -30, 12, 6, 4 }, { 47, 78, -31, 12, 6, 4 }, { 47, 79, -32, 12, 6, 4 }, + { 48, 80, -32, 12, 6, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagDown252, { + { 0, 16, 16, 16, 6, 4 }, { 1, 16, 15, 16, 6, 4 }, { 2, 16, 15, 16, 6, 4 }, { 3, 16, 14, 16, 6, 4 }, { 4, 16, 14, 16, 6, 4 }, + { 5, 16, 13, 16, 6, 4 }, { 6, 16, 12, 16, 6, 4 }, { 7, 16, 12, 16, 6, 4 }, { 8, 16, 11, 16, 6, 4 }, { 9, 16, 11, 16, 6, 4 }, + { 10, 15, 10, 16, 6, 4 }, { 11, 15, 10, 17, 6, 4 }, { 12, 15, 9, 17, 6, 4 }, { 13, 15, 9, 17, 6, 4 }, { 14, 15, 8, 17, 6, 4 }, + { 15, 15, 7, 17, 6, 4 }, { 16, 15, 7, 17, 6, 4 }, { 17, 15, 6, 17, 6, 4 }, { 18, 14, 6, 17, 6, 4 }, { 19, 14, 5, 17, 6, 4 }, + { 20, 14, 4, 17, 6, 4 }, { 21, 14, 4, 17, 6, 4 }, { 22, 14, 3, 17, 6, 4 }, { 23, 13, 3, 17, 6, 4 }, { 24, 13, 2, 17, 6, 4 }, + { 25, 13, 2, 17, 6, 4 }, { 26, 13, 1, 17, 6, 4 }, { 27, 13, 0, 17, 6, 4 }, { 28, 12, 0, 17, 6, 4 }, { 29, 12, -1, 17, 6, 4 }, + { 30, 12, -1, 17, 6, 4 }, { 31, 11, -2, 17, 6, 4 }, { 32, 11, -3, 17, 6, 4 }, { 33, 11, -3, 18, 6, 4 }, { 34, 11, -4, 18, 6, 4 }, + { 35, 10, -4, 18, 6, 4 }, { 36, 10, -5, 18, 6, 4 }, { 37, 10, -6, 18, 6, 4 }, { 38, 9, -6, 18, 6, 4 }, { 39, 9, -7, 18, 6, 4 }, + { 40, 8, -7, 18, 6, 4 }, { 41, 8, -8, 18, 6, 4 }, { 42, 8, -9, 18, 6, 4 }, { 43, 7, -9, 18, 6, 4 }, { 44, 7, -10, 18, 6, 4 }, + { 45, 7, -10, 18, 6, 4 }, { 46, 6, -11, 18, 6, 4 }, { 47, 6, -12, 18, 6, 4 }, { 48, 5, -12, 18, 6, 4 }, { 49, 5, -13, 18, 6, 4 }, + { 50, 4, -14, 18, 6, 4 }, { 51, 4, -14, 18, 6, 4 }, { 52, 3, -15, 18, 6, 4 }, { 53, 3, -15, 18, 6, 4 }, { 54, 2, -16, 18, 6, 4 }, + { 55, 2, -17, 18, 6, 4 }, { 56, 1, -17, 19, 6, 4 }, { 57, 1, -18, 19, 6, 4 }, { 58, 0, -19, 19, 6, 4 }, { 59, 0, -19, 19, 6, 4 }, + { 60, -1, -20, 19, 6, 4 }, { 61, -2, -20, 19, 6, 4 }, { 62, -2, -21, 19, 6, 4 }, { 63, -3, -22, 19, 6, 4 }, { 64, -4, -22, 19, 6, 4 }, + { 65, -4, -23, 19, 6, 4 }, { 66, -5, -23, 19, 6, 4 }, { 67, -6, -24, 19, 6, 4 }, { 68, -6, -25, 19, 6, 4 }, { 69, -7, -25, 19, 6, 4 }, + { 70, -8, -26, 19, 6, 4 }, { 71, -9, -27, 19, 6, 4 }, { 72, -9, -27, 19, 6, 4 }, { 73, -10, -28, 19, 6, 4 }, { 74, -11, -28, 20, 6, 4 }, + { 75, -12, -29, 20, 6, 4 }, { 76, -13, -30, 20, 6, 4 }, { 77, -14, -30, 20, 6, 4 }, { 78, -15, -31, 20, 6, 4 }, { 79, -15, -32, 20, 6, 4 }, + { 80, -16, -32, 20, 6, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToDiagDown253, { + { 16, 31, 15, 24, 6, 4 }, { 16, 30, 15, 24, 6, 4 }, { 16, 29, 14, 24, 6, 4 }, { 16, 28, 14, 24, 6, 4 }, { 16, 27, 13, 24, 6, 4 }, + { 16, 26, 12, 24, 6, 4 }, { 16, 25, 12, 24, 6, 4 }, { 16, 24, 11, 24, 6, 4 }, { 16, 23, 11, 24, 6, 4 }, { 15, 22, 10, 24, 6, 4 }, + { 15, 21, 10, 25, 6, 4 }, { 15, 20, 9, 25, 6, 4 }, { 15, 19, 9, 25, 6, 4 }, { 15, 18, 8, 25, 6, 4 }, { 15, 17, 7, 25, 6, 4 }, + { 15, 16, 7, 25, 6, 4 }, { 15, 15, 6, 25, 6, 4 }, { 14, 14, 6, 25, 6, 4 }, { 14, 13, 5, 25, 6, 4 }, { 14, 12, 4, 25, 6, 4 }, + { 14, 11, 4, 25, 6, 4 }, { 14, 10, 3, 25, 6, 4 }, { 13, 9, 3, 25, 6, 4 }, { 13, 8, 2, 25, 6, 4 }, { 13, 7, 2, 25, 6, 4 }, + { 13, 6, 1, 25, 6, 4 }, { 13, 5, 0, 25, 6, 4 }, { 12, 4, 0, 25, 6, 4 }, { 12, 3, -1, 25, 6, 4 }, { 12, 2, -1, 25, 6, 4 }, + { 11, 1, -2, 25, 6, 4 }, { 11, 0, -3, 25, 6, 4 }, { 11, -1, -3, 26, 6, 4 }, { 11, -2, -4, 26, 6, 4 }, { 10, -3, -4, 26, 6, 4 }, + { 10, -4, -5, 26, 6, 4 }, { 10, -5, -6, 26, 6, 4 }, { 9, -6, -6, 26, 6, 4 }, { 9, -7, -7, 26, 6, 4 }, { 8, -8, -7, 26, 6, 4 }, + { 8, -9, -8, 26, 6, 4 }, { 8, -10, -9, 26, 6, 4 }, { 7, -11, -9, 26, 6, 4 }, { 7, -12, -10, 26, 6, 4 }, { 7, -13, -10, 26, 6, 4 }, + { 6, -14, -11, 26, 6, 4 }, { 6, -15, -12, 26, 6, 4 }, { 5, -16, -12, 26, 6, 4 }, { 5, -17, -13, 26, 6, 4 }, { 4, -18, -14, 26, 6, 4 }, + { 4, -19, -14, 26, 6, 4 }, { 3, -20, -15, 26, 6, 4 }, { 3, -21, -15, 26, 6, 4 }, { 2, -22, -16, 26, 6, 4 }, { 2, -23, -17, 26, 6, 4 }, + { 1, -24, -17, 27, 6, 4 }, { 1, -25, -18, 27, 6, 4 }, { 0, -26, -19, 27, 6, 4 }, { 0, -27, -19, 27, 6, 4 }, { -1, -28, -20, 27, 6, 4 }, + { -2, -29, -20, 27, 6, 4 }, { -2, -30, -21, 27, 6, 4 }, { -3, -31, -22, 27, 6, 4 }, { -4, -32, -22, 27, 6, 4 }, { -4, -33, -23, 27, 6, 4 }, + { -5, -34, -23, 27, 6, 4 }, { -6, -35, -24, 27, 6, 4 }, { -6, -36, -25, 27, 6, 4 }, { -7, -37, -25, 27, 6, 4 }, { -8, -38, -26, 27, 6, 4 }, + { -9, -39, -27, 27, 6, 4 }, { -9, -40, -27, 27, 6, 4 }, { -10, -41, -28, 27, 6, 4 }, { -11, -42, -28, 28, 6, 4 }, { -12, -43, -29, 28, 6, 4 }, + { -13, -44, -30, 28, 6, 4 }, { -14, -45, -30, 28, 6, 4 }, { -15, -46, -31, 28, 6, 4 }, { -15, -47, -32, 28, 6, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalUp250, { + { 15, 16, 1, 4, 2, 2 }, { 14, 17, 2, 4, 2, 2 }, { 13, 18, 2, 4, 2, 2 }, { 12, 19, 3, 4, 2, 2 }, { 11, 20, 3, 4, 2, 2 }, + { 10, 21, 4, 3, 2, 2 }, { 9, 22, 5, 3, 2, 2 }, { 8, 22, 5, 3, 2, 2 }, { 7, 23, 6, 3, 2, 2 }, { 6, 24, 7, 3, 2, 2 }, + { 5, 25, 7, 3, 2, 2 }, { 4, 25, 8, 3, 2, 2 }, { 3, 26, 8, 3, 2, 2 }, { 2, 27, 9, 3, 2, 2 }, { 1, 27, 10, 3, 2, 2 }, + { 0, 28, 10, 3, 2, 2 }, { -1, 29, 11, 3, 2, 2 }, { -2, 29, 12, 3, 2, 2 }, { -3, 30, 12, 3, 2, 2 }, { -4, 30, 13, 3, 2, 2 }, + { -5, 31, 13, 3, 2, 2 }, { -6, 32, 14, 3, 2, 2 }, { -7, 32, 15, 3, 2, 2 }, { -8, 33, 15, 2, 2, 2 }, { -9, 33, 16, 2, 2, 2 }, + { -10, 34, 17, 2, 2, 2 }, { -11, 34, 17, 2, 2, 2 }, { -12, 35, 18, 2, 2, 2 }, { -13, 35, 18, 2, 2, 2 }, { -14, 36, 19, 2, 2, 2 }, + { -15, 36, 20, 2, 2, 2 }, { -16, 37, 20, 2, 2, 2 }, { -17, 37, 21, 2, 2, 2 }, { -18, 37, 21, 2, 2, 2 }, { -19, 38, 22, 2, 2, 2 }, + { -20, 38, 23, 2, 2, 2 }, { -21, 39, 23, 2, 2, 2 }, { -22, 39, 24, 2, 2, 2 }, { -23, 39, 24, 2, 2, 2 }, { -24, 40, 25, 2, 2, 2 }, + { -25, 40, 26, 2, 2, 2 }, { -26, 41, 26, 2, 2, 2 }, { -27, 41, 27, 2, 2, 2 }, { -28, 41, 28, 2, 2, 2 }, { -29, 42, 28, 2, 2, 2 }, + { -30, 42, 29, 2, 2, 2 }, { -31, 42, 29, 1, 2, 2 }, { -32, 42, 30, 1, 2, 2 }, { -33, 43, 31, 1, 2, 2 }, { -34, 43, 31, 1, 2, 2 }, + { -35, 43, 32, 1, 2, 2 }, { -36, 44, 32, 1, 2, 2 }, { -37, 44, 33, 1, 2, 2 }, { -38, 44, 33, 1, 2, 2 }, { -39, 44, 34, 1, 2, 2 }, + { -40, 44, 35, 1, 2, 2 }, { -41, 45, 35, 1, 2, 2 }, { -42, 45, 36, 1, 2, 2 }, { -43, 45, 36, 1, 2, 2 }, { -44, 45, 37, 1, 2, 2 }, + { -45, 45, 38, 1, 2, 2 }, { -46, 46, 38, 1, 2, 2 }, { -47, 46, 39, 1, 2, 2 }, { -48, 46, 39, 1, 2, 2 }, { -49, 46, 40, 1, 2, 2 }, + { -50, 46, 40, 1, 2, 2 }, { -51, 46, 41, 1, 2, 2 }, { -52, 46, 42, 1, 2, 2 }, { -53, 46, 42, 0, 2, 2 }, { -54, 47, 43, 0, 2, 2 }, + { -55, 47, 43, 0, 2, 2 }, { -56, 47, 44, 0, 2, 2 }, { -57, 47, 44, 0, 2, 2 }, { -58, 47, 45, 0, 2, 2 }, { -59, 47, 46, 0, 2, 2 }, + { -60, 47, 46, 0, 2, 2 }, { -61, 47, 47, 0, 2, 2 }, { -62, 47, 47, 0, 2, 2 }, { -63, 47, 48, 0, 2, 2 }, { -64, 47, 48, 0, 2, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalUp251, { + { 16, 16, 0, 12, 2, 2 }, { 17, 17, 1, 12, 2, 2 }, { 18, 18, 2, 12, 2, 2 }, { 19, 19, 2, 12, 2, 2 }, { 20, 20, 3, 12, 2, 2 }, + { 21, 21, 3, 12, 2, 2 }, { 22, 22, 4, 11, 2, 2 }, { 23, 23, 5, 11, 2, 2 }, { 23, 24, 5, 11, 2, 2 }, { 24, 25, 6, 11, 2, 2 }, + { 25, 26, 7, 11, 2, 2 }, { 26, 27, 7, 11, 2, 2 }, { 26, 28, 8, 11, 2, 2 }, { 27, 29, 8, 11, 2, 2 }, { 28, 30, 9, 11, 2, 2 }, + { 28, 31, 10, 11, 2, 2 }, { 29, 32, 10, 11, 2, 2 }, { 30, 33, 11, 11, 2, 2 }, { 30, 34, 12, 11, 2, 2 }, { 31, 35, 12, 11, 2, 2 }, + { 31, 36, 13, 11, 2, 2 }, { 32, 37, 13, 11, 2, 2 }, { 33, 38, 14, 11, 2, 2 }, { 33, 39, 15, 11, 2, 2 }, { 34, 40, 15, 10, 2, 2 }, + { 34, 41, 16, 10, 2, 2 }, { 35, 42, 17, 10, 2, 2 }, { 35, 43, 17, 10, 2, 2 }, { 36, 44, 18, 10, 2, 2 }, { 36, 45, 18, 10, 2, 2 }, + { 37, 46, 19, 10, 2, 2 }, { 37, 47, 20, 10, 2, 2 }, { 38, 48, 20, 10, 2, 2 }, { 38, 49, 21, 10, 2, 2 }, { 38, 50, 21, 10, 2, 2 }, + { 39, 51, 22, 10, 2, 2 }, { 39, 52, 23, 10, 2, 2 }, { 40, 53, 23, 10, 2, 2 }, { 40, 54, 24, 10, 2, 2 }, { 40, 55, 24, 10, 2, 2 }, + { 41, 56, 25, 10, 2, 2 }, { 41, 57, 26, 10, 2, 2 }, { 42, 58, 26, 10, 2, 2 }, { 42, 59, 27, 10, 2, 2 }, { 42, 60, 28, 10, 2, 2 }, + { 43, 61, 28, 10, 2, 2 }, { 43, 62, 29, 10, 2, 2 }, { 43, 63, 29, 9, 2, 2 }, { 43, 64, 30, 9, 2, 2 }, { 44, 65, 31, 9, 2, 2 }, + { 44, 66, 31, 9, 2, 2 }, { 44, 67, 32, 9, 2, 2 }, { 45, 68, 32, 9, 2, 2 }, { 45, 69, 33, 9, 2, 2 }, { 45, 70, 33, 9, 2, 2 }, + { 45, 71, 34, 9, 2, 2 }, { 45, 72, 35, 9, 2, 2 }, { 46, 73, 35, 9, 2, 2 }, { 46, 74, 36, 9, 2, 2 }, { 46, 75, 36, 9, 2, 2 }, + { 46, 76, 37, 9, 2, 2 }, { 46, 77, 38, 9, 2, 2 }, { 47, 78, 38, 9, 2, 2 }, { 47, 79, 39, 9, 2, 2 }, { 47, 80, 39, 9, 2, 2 }, + { 47, 81, 40, 9, 2, 2 }, { 47, 82, 40, 9, 2, 2 }, { 47, 83, 41, 9, 2, 2 }, { 47, 84, 42, 9, 2, 2 }, { 47, 85, 42, 8, 2, 2 }, + { 48, 86, 43, 8, 2, 2 }, { 48, 87, 43, 8, 2, 2 }, { 48, 88, 44, 8, 2, 2 }, { 48, 89, 44, 8, 2, 2 }, { 48, 90, 45, 8, 2, 2 }, + { 48, 91, 46, 8, 2, 2 }, { 48, 92, 46, 8, 2, 2 }, { 48, 93, 47, 8, 2, 2 }, { 48, 94, 47, 8, 2, 2 }, { 48, 95, 48, 8, 2, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalUp252, { + { 16, 15, 0, 20, 2, 2 }, { 17, 14, 1, 20, 2, 2 }, { 18, 13, 2, 20, 2, 2 }, { 19, 12, 2, 20, 2, 2 }, { 20, 11, 3, 20, 2, 2 }, + { 21, 10, 3, 20, 2, 2 }, { 22, 9, 4, 19, 2, 2 }, { 23, 8, 5, 19, 2, 2 }, { 24, 8, 5, 19, 2, 2 }, { 25, 7, 6, 19, 2, 2 }, + { 26, 6, 7, 19, 2, 2 }, { 27, 5, 7, 19, 2, 2 }, { 28, 5, 8, 19, 2, 2 }, { 29, 4, 8, 19, 2, 2 }, { 30, 3, 9, 19, 2, 2 }, + { 31, 3, 10, 19, 2, 2 }, { 32, 2, 10, 19, 2, 2 }, { 33, 1, 11, 19, 2, 2 }, { 34, 1, 12, 19, 2, 2 }, { 35, 0, 12, 19, 2, 2 }, + { 36, 0, 13, 19, 2, 2 }, { 37, -1, 13, 19, 2, 2 }, { 38, -2, 14, 19, 2, 2 }, { 39, -2, 15, 19, 2, 2 }, { 40, -3, 15, 18, 2, 2 }, + { 41, -3, 16, 18, 2, 2 }, { 42, -4, 17, 18, 2, 2 }, { 43, -4, 17, 18, 2, 2 }, { 44, -5, 18, 18, 2, 2 }, { 45, -5, 18, 18, 2, 2 }, + { 46, -6, 19, 18, 2, 2 }, { 47, -6, 20, 18, 2, 2 }, { 48, -7, 20, 18, 2, 2 }, { 49, -7, 21, 18, 2, 2 }, { 50, -7, 21, 18, 2, 2 }, + { 51, -8, 22, 18, 2, 2 }, { 52, -8, 23, 18, 2, 2 }, { 53, -9, 23, 18, 2, 2 }, { 54, -9, 24, 18, 2, 2 }, { 55, -9, 24, 18, 2, 2 }, + { 56, -10, 25, 18, 2, 2 }, { 57, -10, 26, 18, 2, 2 }, { 58, -11, 26, 18, 2, 2 }, { 59, -11, 27, 18, 2, 2 }, { 60, -11, 28, 18, 2, 2 }, + { 61, -12, 28, 18, 2, 2 }, { 62, -12, 29, 18, 2, 2 }, { 63, -12, 29, 17, 2, 2 }, { 64, -12, 30, 17, 2, 2 }, { 65, -13, 31, 17, 2, 2 }, + { 66, -13, 31, 17, 2, 2 }, { 67, -13, 32, 17, 2, 2 }, { 68, -14, 32, 17, 2, 2 }, { 69, -14, 33, 17, 2, 2 }, { 70, -14, 33, 17, 2, 2 }, + { 71, -14, 34, 17, 2, 2 }, { 72, -14, 35, 17, 2, 2 }, { 73, -15, 35, 17, 2, 2 }, { 74, -15, 36, 17, 2, 2 }, { 75, -15, 36, 17, 2, 2 }, + { 76, -15, 37, 17, 2, 2 }, { 77, -15, 38, 17, 2, 2 }, { 78, -16, 38, 17, 2, 2 }, { 79, -16, 39, 17, 2, 2 }, { 80, -16, 39, 17, 2, 2 }, + { 81, -16, 40, 17, 2, 2 }, { 82, -16, 40, 17, 2, 2 }, { 83, -16, 41, 17, 2, 2 }, { 84, -16, 42, 17, 2, 2 }, { 85, -16, 42, 16, 2, 2 }, + { 86, -17, 43, 16, 2, 2 }, { 87, -17, 43, 16, 2, 2 }, { 88, -17, 44, 16, 2, 2 }, { 89, -17, 44, 16, 2, 2 }, { 90, -17, 45, 16, 2, 2 }, + { 91, -17, 46, 16, 2, 2 }, { 92, -17, 46, 16, 2, 2 }, { 93, -17, 47, 16, 2, 2 }, { 94, -17, 47, 16, 2, 2 }, { 95, -17, 48, 16, 2, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalUp253, { + { 15, 15, 1, 28, 2, 2 }, { 14, 14, 2, 28, 2, 2 }, { 13, 13, 2, 28, 2, 2 }, { 12, 12, 3, 28, 2, 2 }, { 11, 11, 3, 28, 2, 2 }, + { 10, 10, 4, 27, 2, 2 }, { 9, 9, 5, 27, 2, 2 }, { 9, 8, 5, 27, 2, 2 }, { 8, 7, 6, 27, 2, 2 }, { 7, 6, 7, 27, 2, 2 }, + { 6, 5, 7, 27, 2, 2 }, { 6, 4, 8, 27, 2, 2 }, { 5, 3, 8, 27, 2, 2 }, { 4, 2, 9, 27, 2, 2 }, { 4, 1, 10, 27, 2, 2 }, + { 3, 0, 10, 27, 2, 2 }, { 2, -1, 11, 27, 2, 2 }, { 2, -2, 12, 27, 2, 2 }, { 1, -3, 12, 27, 2, 2 }, { 1, -4, 13, 27, 2, 2 }, + { 0, -5, 13, 27, 2, 2 }, { -1, -6, 14, 27, 2, 2 }, { -1, -7, 15, 27, 2, 2 }, { -2, -8, 15, 26, 2, 2 }, { -2, -9, 16, 26, 2, 2 }, + { -3, -10, 17, 26, 2, 2 }, { -3, -11, 17, 26, 2, 2 }, { -4, -12, 18, 26, 2, 2 }, { -4, -13, 18, 26, 2, 2 }, { -5, -14, 19, 26, 2, 2 }, + { -5, -15, 20, 26, 2, 2 }, { -6, -16, 20, 26, 2, 2 }, { -6, -17, 21, 26, 2, 2 }, { -6, -18, 21, 26, 2, 2 }, { -7, -19, 22, 26, 2, 2 }, + { -7, -20, 23, 26, 2, 2 }, { -8, -21, 23, 26, 2, 2 }, { -8, -22, 24, 26, 2, 2 }, { -8, -23, 24, 26, 2, 2 }, { -9, -24, 25, 26, 2, 2 }, + { -9, -25, 26, 26, 2, 2 }, { -10, -26, 26, 26, 2, 2 }, { -10, -27, 27, 26, 2, 2 }, { -10, -28, 28, 26, 2, 2 }, { -11, -29, 28, 26, 2, 2 }, + { -11, -30, 29, 26, 2, 2 }, { -11, -31, 29, 25, 2, 2 }, { -11, -32, 30, 25, 2, 2 }, { -12, -33, 31, 25, 2, 2 }, { -12, -34, 31, 25, 2, 2 }, + { -12, -35, 32, 25, 2, 2 }, { -13, -36, 32, 25, 2, 2 }, { -13, -37, 33, 25, 2, 2 }, { -13, -38, 33, 25, 2, 2 }, { -13, -39, 34, 25, 2, 2 }, + { -13, -40, 35, 25, 2, 2 }, { -14, -41, 35, 25, 2, 2 }, { -14, -42, 36, 25, 2, 2 }, { -14, -43, 36, 25, 2, 2 }, { -14, -44, 37, 25, 2, 2 }, + { -14, -45, 38, 25, 2, 2 }, { -15, -46, 38, 25, 2, 2 }, { -15, -47, 39, 25, 2, 2 }, { -15, -48, 39, 25, 2, 2 }, { -15, -49, 40, 25, 2, 2 }, + { -15, -50, 40, 25, 2, 2 }, { -15, -51, 41, 25, 2, 2 }, { -15, -52, 42, 25, 2, 2 }, { -15, -53, 42, 24, 2, 2 }, { -16, -54, 43, 24, 2, 2 }, + { -16, -55, 43, 24, 2, 2 }, { -16, -56, 44, 24, 2, 2 }, { -16, -57, 44, 24, 2, 2 }, { -16, -58, 45, 24, 2, 2 }, { -16, -59, 46, 24, 2, 2 }, + { -16, -60, 46, 24, 2, 2 }, { -16, -61, 47, 24, 2, 2 }, { -16, -62, 47, 24, 2, 2 }, { -16, -63, 48, 24, 2, 2 }, { -16, -64, 48, 24, 2, 2 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalUp250, { + { 15, 16, 1, 4, 2, 4 }, { 14, 17, 2, 4, 2, 4 }, { 13, 18, 2, 4, 2, 4 }, { 12, 19, 3, 4, 2, 4 }, { 11, 20, 3, 4, 2, 4 }, + { 10, 21, 4, 5, 2, 4 }, { 9, 22, 5, 5, 2, 4 }, { 9, 23, 5, 5, 2, 4 }, { 8, 24, 6, 5, 2, 4 }, { 7, 25, 7, 5, 2, 4 }, + { 6, 26, 7, 5, 2, 4 }, { 6, 27, 8, 5, 2, 4 }, { 5, 28, 8, 5, 2, 4 }, { 4, 29, 9, 5, 2, 4 }, { 4, 30, 10, 5, 2, 4 }, + { 3, 31, 10, 5, 2, 4 }, { 2, 32, 11, 5, 2, 4 }, { 2, 33, 12, 5, 2, 4 }, { 1, 34, 12, 5, 2, 4 }, { 1, 35, 13, 5, 2, 4 }, + { 0, 36, 13, 5, 2, 4 }, { -1, 37, 14, 5, 2, 4 }, { -1, 38, 15, 5, 2, 4 }, { -2, 39, 15, 6, 2, 4 }, { -2, 40, 16, 6, 2, 4 }, + { -3, 41, 17, 6, 2, 4 }, { -3, 42, 17, 6, 2, 4 }, { -4, 43, 18, 6, 2, 4 }, { -4, 44, 18, 6, 2, 4 }, { -5, 45, 19, 6, 2, 4 }, + { -5, 46, 20, 6, 2, 4 }, { -6, 47, 20, 6, 2, 4 }, { -6, 48, 21, 6, 2, 4 }, { -6, 49, 21, 6, 2, 4 }, { -7, 50, 22, 6, 2, 4 }, + { -7, 51, 23, 6, 2, 4 }, { -8, 52, 23, 6, 2, 4 }, { -8, 53, 24, 6, 2, 4 }, { -8, 54, 24, 6, 2, 4 }, { -9, 55, 25, 6, 2, 4 }, + { -9, 56, 26, 6, 2, 4 }, { -10, 57, 26, 6, 2, 4 }, { -10, 58, 27, 6, 2, 4 }, { -10, 59, 28, 6, 2, 4 }, { -11, 60, 28, 6, 2, 4 }, + { -11, 61, 29, 6, 2, 4 }, { -11, 62, 29, 7, 2, 4 }, { -11, 63, 30, 7, 2, 4 }, { -12, 64, 31, 7, 2, 4 }, { -12, 65, 31, 7, 2, 4 }, + { -12, 66, 32, 7, 2, 4 }, { -13, 67, 32, 7, 2, 4 }, { -13, 68, 33, 7, 2, 4 }, { -13, 69, 33, 7, 2, 4 }, { -13, 70, 34, 7, 2, 4 }, + { -13, 71, 35, 7, 2, 4 }, { -14, 72, 35, 7, 2, 4 }, { -14, 73, 36, 7, 2, 4 }, { -14, 74, 36, 7, 2, 4 }, { -14, 75, 37, 7, 2, 4 }, + { -14, 76, 38, 7, 2, 4 }, { -15, 77, 38, 7, 2, 4 }, { -15, 78, 39, 7, 2, 4 }, { -15, 79, 39, 7, 2, 4 }, { -15, 80, 40, 7, 2, 4 }, + { -15, 81, 40, 7, 2, 4 }, { -15, 82, 41, 7, 2, 4 }, { -15, 83, 42, 7, 2, 4 }, { -15, 84, 42, 8, 2, 4 }, { -16, 85, 43, 8, 2, 4 }, + { -16, 86, 43, 8, 2, 4 }, { -16, 87, 44, 8, 2, 4 }, { -16, 88, 44, 8, 2, 4 }, { -16, 89, 45, 8, 2, 4 }, { -16, 90, 46, 8, 2, 4 }, + { -16, 91, 46, 8, 2, 4 }, { -16, 92, 47, 8, 2, 4 }, { -16, 93, 47, 8, 2, 4 }, { -16, 94, 48, 8, 2, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalUp251, { + { 16, 16, 0, 12, 2, 4 }, { 17, 17, 1, 12, 2, 4 }, { 18, 18, 2, 12, 2, 4 }, { 19, 19, 2, 12, 2, 4 }, { 20, 20, 3, 12, 2, 4 }, + { 21, 21, 3, 12, 2, 4 }, { 22, 22, 4, 13, 2, 4 }, { 23, 23, 5, 13, 2, 4 }, { 24, 23, 5, 13, 2, 4 }, { 25, 24, 6, 13, 2, 4 }, + { 26, 25, 7, 13, 2, 4 }, { 27, 26, 7, 13, 2, 4 }, { 28, 26, 8, 13, 2, 4 }, { 29, 27, 8, 13, 2, 4 }, { 30, 28, 9, 13, 2, 4 }, + { 31, 28, 10, 13, 2, 4 }, { 32, 29, 10, 13, 2, 4 }, { 33, 30, 11, 13, 2, 4 }, { 34, 30, 12, 13, 2, 4 }, { 35, 31, 12, 13, 2, 4 }, + { 36, 31, 13, 13, 2, 4 }, { 37, 32, 13, 13, 2, 4 }, { 38, 33, 14, 13, 2, 4 }, { 39, 33, 15, 13, 2, 4 }, { 40, 34, 15, 14, 2, 4 }, + { 41, 34, 16, 14, 2, 4 }, { 42, 35, 17, 14, 2, 4 }, { 43, 35, 17, 14, 2, 4 }, { 44, 36, 18, 14, 2, 4 }, { 45, 36, 18, 14, 2, 4 }, + { 46, 37, 19, 14, 2, 4 }, { 47, 37, 20, 14, 2, 4 }, { 48, 38, 20, 14, 2, 4 }, { 49, 38, 21, 14, 2, 4 }, { 50, 38, 21, 14, 2, 4 }, + { 51, 39, 22, 14, 2, 4 }, { 52, 39, 23, 14, 2, 4 }, { 53, 40, 23, 14, 2, 4 }, { 54, 40, 24, 14, 2, 4 }, { 55, 40, 24, 14, 2, 4 }, + { 56, 41, 25, 14, 2, 4 }, { 57, 41, 26, 14, 2, 4 }, { 58, 42, 26, 14, 2, 4 }, { 59, 42, 27, 14, 2, 4 }, { 60, 42, 28, 14, 2, 4 }, + { 61, 43, 28, 14, 2, 4 }, { 62, 43, 29, 14, 2, 4 }, { 63, 43, 29, 15, 2, 4 }, { 64, 43, 30, 15, 2, 4 }, { 65, 44, 31, 15, 2, 4 }, + { 66, 44, 31, 15, 2, 4 }, { 67, 44, 32, 15, 2, 4 }, { 68, 45, 32, 15, 2, 4 }, { 69, 45, 33, 15, 2, 4 }, { 70, 45, 33, 15, 2, 4 }, + { 71, 45, 34, 15, 2, 4 }, { 72, 45, 35, 15, 2, 4 }, { 73, 46, 35, 15, 2, 4 }, { 74, 46, 36, 15, 2, 4 }, { 75, 46, 36, 15, 2, 4 }, + { 76, 46, 37, 15, 2, 4 }, { 77, 46, 38, 15, 2, 4 }, { 78, 47, 38, 15, 2, 4 }, { 79, 47, 39, 15, 2, 4 }, { 80, 47, 39, 15, 2, 4 }, + { 81, 47, 40, 15, 2, 4 }, { 82, 47, 40, 15, 2, 4 }, { 83, 47, 41, 15, 2, 4 }, { 84, 47, 42, 15, 2, 4 }, { 85, 47, 42, 16, 2, 4 }, + { 86, 48, 43, 16, 2, 4 }, { 87, 48, 43, 16, 2, 4 }, { 88, 48, 44, 16, 2, 4 }, { 89, 48, 44, 16, 2, 4 }, { 90, 48, 45, 16, 2, 4 }, + { 91, 48, 46, 16, 2, 4 }, { 92, 48, 46, 16, 2, 4 }, { 93, 48, 47, 16, 2, 4 }, { 94, 48, 47, 16, 2, 4 }, { 95, 48, 48, 16, 2, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalUp252, { + { 16, 15, 0, 20, 2, 4 }, { 17, 14, 1, 20, 2, 4 }, { 18, 13, 2, 20, 2, 4 }, { 19, 12, 2, 20, 2, 4 }, { 20, 11, 3, 20, 2, 4 }, + { 21, 10, 3, 20, 2, 4 }, { 22, 9, 4, 21, 2, 4 }, { 23, 8, 5, 21, 2, 4 }, { 23, 7, 5, 21, 2, 4 }, { 24, 6, 6, 21, 2, 4 }, + { 25, 5, 7, 21, 2, 4 }, { 26, 4, 7, 21, 2, 4 }, { 26, 3, 8, 21, 2, 4 }, { 27, 2, 8, 21, 2, 4 }, { 28, 1, 9, 21, 2, 4 }, + { 28, 0, 10, 21, 2, 4 }, { 29, -1, 10, 21, 2, 4 }, { 30, -2, 11, 21, 2, 4 }, { 30, -3, 12, 21, 2, 4 }, { 31, -4, 12, 21, 2, 4 }, + { 31, -5, 13, 21, 2, 4 }, { 32, -6, 13, 21, 2, 4 }, { 33, -7, 14, 21, 2, 4 }, { 33, -8, 15, 21, 2, 4 }, { 34, -9, 15, 22, 2, 4 }, + { 34, -10, 16, 22, 2, 4 }, { 35, -11, 17, 22, 2, 4 }, { 35, -12, 17, 22, 2, 4 }, { 36, -13, 18, 22, 2, 4 }, { 36, -14, 18, 22, 2, 4 }, + { 37, -15, 19, 22, 2, 4 }, { 37, -16, 20, 22, 2, 4 }, { 38, -17, 20, 22, 2, 4 }, { 38, -18, 21, 22, 2, 4 }, { 38, -19, 21, 22, 2, 4 }, + { 39, -20, 22, 22, 2, 4 }, { 39, -21, 23, 22, 2, 4 }, { 40, -22, 23, 22, 2, 4 }, { 40, -23, 24, 22, 2, 4 }, { 40, -24, 24, 22, 2, 4 }, + { 41, -25, 25, 22, 2, 4 }, { 41, -26, 26, 22, 2, 4 }, { 42, -27, 26, 22, 2, 4 }, { 42, -28, 27, 22, 2, 4 }, { 42, -29, 28, 22, 2, 4 }, + { 43, -30, 28, 22, 2, 4 }, { 43, -31, 29, 22, 2, 4 }, { 43, -32, 29, 23, 2, 4 }, { 43, -33, 30, 23, 2, 4 }, { 44, -34, 31, 23, 2, 4 }, + { 44, -35, 31, 23, 2, 4 }, { 44, -36, 32, 23, 2, 4 }, { 45, -37, 32, 23, 2, 4 }, { 45, -38, 33, 23, 2, 4 }, { 45, -39, 33, 23, 2, 4 }, + { 45, -40, 34, 23, 2, 4 }, { 45, -41, 35, 23, 2, 4 }, { 46, -42, 35, 23, 2, 4 }, { 46, -43, 36, 23, 2, 4 }, { 46, -44, 36, 23, 2, 4 }, + { 46, -45, 37, 23, 2, 4 }, { 46, -46, 38, 23, 2, 4 }, { 47, -47, 38, 23, 2, 4 }, { 47, -48, 39, 23, 2, 4 }, { 47, -49, 39, 23, 2, 4 }, + { 47, -50, 40, 23, 2, 4 }, { 47, -51, 40, 23, 2, 4 }, { 47, -52, 41, 23, 2, 4 }, { 47, -53, 42, 23, 2, 4 }, { 47, -54, 42, 24, 2, 4 }, + { 48, -55, 43, 24, 2, 4 }, { 48, -56, 43, 24, 2, 4 }, { 48, -57, 44, 24, 2, 4 }, { 48, -58, 44, 24, 2, 4 }, { 48, -59, 45, 24, 2, 4 }, + { 48, -60, 46, 24, 2, 4 }, { 48, -61, 46, 24, 2, 4 }, { 48, -62, 47, 24, 2, 4 }, { 48, -63, 47, 24, 2, 4 }, { 48, -64, 48, 24, 2, 4 }, + { 48, -65, 48, 24, 2, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalUp253, { + { 15, 15, 1, 28, 2, 4 }, { 14, 14, 2, 28, 2, 4 }, { 13, 13, 2, 28, 2, 4 }, { 12, 12, 3, 28, 2, 4 }, { 11, 11, 3, 28, 2, 4 }, + { 10, 10, 4, 29, 2, 4 }, { 9, 9, 5, 29, 2, 4 }, { 8, 9, 5, 29, 2, 4 }, { 7, 8, 6, 29, 2, 4 }, { 6, 7, 7, 29, 2, 4 }, + { 5, 6, 7, 29, 2, 4 }, { 4, 6, 8, 29, 2, 4 }, { 3, 5, 8, 29, 2, 4 }, { 2, 4, 9, 29, 2, 4 }, { 1, 4, 10, 29, 2, 4 }, + { 0, 3, 10, 29, 2, 4 }, { -1, 2, 11, 29, 2, 4 }, { -2, 2, 12, 29, 2, 4 }, { -3, 1, 12, 29, 2, 4 }, { -4, 1, 13, 29, 2, 4 }, + { -5, 0, 13, 29, 2, 4 }, { -6, -1, 14, 29, 2, 4 }, { -7, -1, 15, 29, 2, 4 }, { -8, -2, 15, 30, 2, 4 }, { -9, -2, 16, 30, 2, 4 }, + { -10, -3, 17, 30, 2, 4 }, { -11, -3, 17, 30, 2, 4 }, { -12, -4, 18, 30, 2, 4 }, { -13, -4, 18, 30, 2, 4 }, { -14, -5, 19, 30, 2, 4 }, + { -15, -5, 20, 30, 2, 4 }, { -16, -6, 20, 30, 2, 4 }, { -17, -6, 21, 30, 2, 4 }, { -18, -6, 21, 30, 2, 4 }, { -19, -7, 22, 30, 2, 4 }, + { -20, -7, 23, 30, 2, 4 }, { -21, -8, 23, 30, 2, 4 }, { -22, -8, 24, 30, 2, 4 }, { -23, -8, 24, 30, 2, 4 }, { -24, -9, 25, 30, 2, 4 }, + { -25, -9, 26, 30, 2, 4 }, { -26, -10, 26, 30, 2, 4 }, { -27, -10, 27, 30, 2, 4 }, { -28, -10, 28, 30, 2, 4 }, { -29, -11, 28, 30, 2, 4 }, + { -30, -11, 29, 30, 2, 4 }, { -31, -11, 29, 31, 2, 4 }, { -32, -11, 30, 31, 2, 4 }, { -33, -12, 31, 31, 2, 4 }, { -34, -12, 31, 31, 2, 4 }, + { -35, -12, 32, 31, 2, 4 }, { -36, -13, 32, 31, 2, 4 }, { -37, -13, 33, 31, 2, 4 }, { -38, -13, 33, 31, 2, 4 }, { -39, -13, 34, 31, 2, 4 }, + { -40, -13, 35, 31, 2, 4 }, { -41, -14, 35, 31, 2, 4 }, { -42, -14, 36, 31, 2, 4 }, { -43, -14, 36, 31, 2, 4 }, { -44, -14, 37, 31, 2, 4 }, + { -45, -14, 38, 31, 2, 4 }, { -46, -15, 38, 31, 2, 4 }, { -47, -15, 39, 31, 2, 4 }, { -48, -15, 39, 31, 2, 4 }, { -49, -15, 40, 31, 2, 4 }, + { -50, -15, 40, 31, 2, 4 }, { -51, -15, 41, 31, 2, 4 }, { -52, -15, 42, 31, 2, 4 }, { -53, -15, 42, 0, 2, 4 }, { -54, -16, 43, 0, 2, 4 }, + { -55, -16, 43, 0, 2, 4 }, { -56, -16, 44, 0, 2, 4 }, { -57, -16, 44, 0, 2, 4 }, { -58, -16, 45, 0, 2, 4 }, { -59, -16, 46, 0, 2, 4 }, + { -60, -16, 46, 0, 2, 4 }, { -61, -16, 47, 0, 2, 4 }, { -62, -16, 47, 0, 2, 4 }, { -63, -16, 48, 0, 2, 4 }, { -64, -16, 48, 0, 2, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalDown250, { + { 15, 16, 15, 4, 6, 2 }, { 14, 17, 14, 4, 6, 2 }, { 13, 18, 14, 4, 6, 2 }, { 12, 19, 13, 4, 6, 2 }, { 11, 20, 13, 4, 6, 2 }, + { 10, 21, 12, 3, 6, 2 }, { 9, 22, 11, 3, 6, 2 }, { 8, 22, 11, 3, 6, 2 }, { 7, 23, 10, 3, 6, 2 }, { 6, 24, 9, 3, 6, 2 }, + { 5, 25, 9, 3, 6, 2 }, { 4, 25, 8, 3, 6, 2 }, { 3, 26, 8, 3, 6, 2 }, { 2, 27, 7, 3, 6, 2 }, { 1, 27, 6, 3, 6, 2 }, + { 0, 28, 6, 3, 6, 2 }, { -1, 29, 5, 3, 6, 2 }, { -2, 29, 4, 3, 6, 2 }, { -3, 30, 4, 3, 6, 2 }, { -4, 30, 3, 3, 6, 2 }, + { -5, 31, 3, 3, 6, 2 }, { -6, 32, 2, 3, 6, 2 }, { -7, 32, 1, 3, 6, 2 }, { -8, 33, 1, 2, 6, 2 }, { -9, 33, 0, 2, 6, 2 }, + { -10, 34, -1, 2, 6, 2 }, { -11, 34, -1, 2, 6, 2 }, { -12, 35, -2, 2, 6, 2 }, { -13, 35, -2, 2, 6, 2 }, { -14, 36, -3, 2, 6, 2 }, + { -15, 36, -4, 2, 6, 2 }, { -16, 37, -4, 2, 6, 2 }, { -17, 37, -5, 2, 6, 2 }, { -18, 37, -5, 2, 6, 2 }, { -19, 38, -6, 2, 6, 2 }, + { -20, 38, -7, 2, 6, 2 }, { -21, 39, -7, 2, 6, 2 }, { -22, 39, -8, 2, 6, 2 }, { -23, 39, -8, 2, 6, 2 }, { -24, 40, -9, 2, 6, 2 }, + { -25, 40, -10, 2, 6, 2 }, { -26, 41, -10, 2, 6, 2 }, { -27, 41, -11, 2, 6, 2 }, { -28, 41, -12, 2, 6, 2 }, { -29, 42, -12, 2, 6, 2 }, + { -30, 42, -13, 2, 6, 2 }, { -31, 42, -13, 1, 6, 2 }, { -32, 42, -14, 1, 6, 2 }, { -33, 43, -15, 1, 6, 2 }, { -34, 43, -15, 1, 6, 2 }, + { -35, 43, -16, 1, 6, 2 }, { -36, 44, -16, 1, 6, 2 }, { -37, 44, -17, 1, 6, 2 }, { -38, 44, -17, 1, 6, 2 }, { -39, 44, -18, 1, 6, 2 }, + { -40, 44, -19, 1, 6, 2 }, { -41, 45, -19, 1, 6, 2 }, { -42, 45, -20, 1, 6, 2 }, { -43, 45, -20, 1, 6, 2 }, { -44, 45, -21, 1, 6, 2 }, + { -45, 45, -22, 1, 6, 2 }, { -46, 46, -22, 1, 6, 2 }, { -47, 46, -23, 1, 6, 2 }, { -48, 46, -23, 1, 6, 2 }, { -49, 46, -24, 1, 6, 2 }, + { -50, 46, -24, 1, 6, 2 }, { -51, 46, -25, 1, 6, 2 }, { -52, 46, -26, 1, 6, 2 }, { -53, 46, -26, 0, 6, 2 }, { -54, 47, -27, 0, 6, 2 }, + { -55, 47, -27, 0, 6, 2 }, { -56, 47, -28, 0, 6, 2 }, { -57, 47, -28, 0, 6, 2 }, { -58, 47, -29, 0, 6, 2 }, { -59, 47, -30, 0, 6, 2 }, + { -60, 47, -30, 0, 6, 2 }, { -61, 47, -31, 0, 6, 2 }, { -62, 47, -31, 0, 6, 2 }, { -63, 47, -32, 0, 6, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalDown251, { + { 16, 16, 16, 12, 6, 2 }, { 17, 17, 15, 12, 6, 2 }, { 18, 18, 14, 12, 6, 2 }, { 19, 19, 14, 12, 6, 2 }, { 20, 20, 13, 12, 6, 2 }, + { 21, 21, 13, 12, 6, 2 }, { 22, 22, 12, 11, 6, 2 }, { 23, 23, 11, 11, 6, 2 }, { 23, 24, 11, 11, 6, 2 }, { 24, 25, 10, 11, 6, 2 }, + { 25, 26, 9, 11, 6, 2 }, { 26, 27, 9, 11, 6, 2 }, { 26, 28, 8, 11, 6, 2 }, { 27, 29, 8, 11, 6, 2 }, { 28, 30, 7, 11, 6, 2 }, + { 28, 31, 6, 11, 6, 2 }, { 29, 32, 6, 11, 6, 2 }, { 30, 33, 5, 11, 6, 2 }, { 30, 34, 4, 11, 6, 2 }, { 31, 35, 4, 11, 6, 2 }, + { 31, 36, 3, 11, 6, 2 }, { 32, 37, 3, 11, 6, 2 }, { 33, 38, 2, 11, 6, 2 }, { 33, 39, 1, 11, 6, 2 }, { 34, 40, 1, 10, 6, 2 }, + { 34, 41, 0, 10, 6, 2 }, { 35, 42, -1, 10, 6, 2 }, { 35, 43, -1, 10, 6, 2 }, { 36, 44, -2, 10, 6, 2 }, { 36, 45, -2, 10, 6, 2 }, + { 37, 46, -3, 10, 6, 2 }, { 37, 47, -4, 10, 6, 2 }, { 38, 48, -4, 10, 6, 2 }, { 38, 49, -5, 10, 6, 2 }, { 38, 50, -5, 10, 6, 2 }, + { 39, 51, -6, 10, 6, 2 }, { 39, 52, -7, 10, 6, 2 }, { 40, 53, -7, 10, 6, 2 }, { 40, 54, -8, 10, 6, 2 }, { 40, 55, -8, 10, 6, 2 }, + { 41, 56, -9, 10, 6, 2 }, { 41, 57, -10, 10, 6, 2 }, { 42, 58, -10, 10, 6, 2 }, { 42, 59, -11, 10, 6, 2 }, { 42, 60, -12, 10, 6, 2 }, + { 43, 61, -12, 10, 6, 2 }, { 43, 62, -13, 10, 6, 2 }, { 43, 63, -13, 9, 6, 2 }, { 43, 64, -14, 9, 6, 2 }, { 44, 65, -15, 9, 6, 2 }, + { 44, 66, -15, 9, 6, 2 }, { 44, 67, -16, 9, 6, 2 }, { 45, 68, -16, 9, 6, 2 }, { 45, 69, -17, 9, 6, 2 }, { 45, 70, -17, 9, 6, 2 }, + { 45, 71, -18, 9, 6, 2 }, { 45, 72, -19, 9, 6, 2 }, { 46, 73, -19, 9, 6, 2 }, { 46, 74, -20, 9, 6, 2 }, { 46, 75, -20, 9, 6, 2 }, + { 46, 76, -21, 9, 6, 2 }, { 46, 77, -22, 9, 6, 2 }, { 47, 78, -22, 9, 6, 2 }, { 47, 79, -23, 9, 6, 2 }, { 47, 80, -23, 9, 6, 2 }, + { 47, 81, -24, 9, 6, 2 }, { 47, 82, -24, 9, 6, 2 }, { 47, 83, -25, 9, 6, 2 }, { 47, 84, -26, 9, 6, 2 }, { 47, 85, -26, 8, 6, 2 }, + { 48, 86, -27, 8, 6, 2 }, { 48, 87, -27, 8, 6, 2 }, { 48, 88, -28, 8, 6, 2 }, { 48, 89, -28, 8, 6, 2 }, { 48, 90, -29, 8, 6, 2 }, + { 48, 91, -30, 8, 6, 2 }, { 48, 92, -30, 8, 6, 2 }, { 48, 93, -31, 8, 6, 2 }, { 48, 94, -31, 8, 6, 2 }, { 48, 95, -32, 8, 6, 2 }, + { 48, 96, -32, 8, 6, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalDown252, { + { 16, 15, 16, 20, 6, 2 }, { 17, 14, 15, 20, 6, 2 }, { 18, 13, 14, 20, 6, 2 }, { 19, 12, 14, 20, 6, 2 }, { 20, 11, 13, 20, 6, 2 }, + { 21, 10, 13, 20, 6, 2 }, { 22, 9, 12, 19, 6, 2 }, { 23, 8, 11, 19, 6, 2 }, { 24, 8, 11, 19, 6, 2 }, { 25, 7, 10, 19, 6, 2 }, + { 26, 6, 9, 19, 6, 2 }, { 27, 5, 9, 19, 6, 2 }, { 28, 5, 8, 19, 6, 2 }, { 29, 4, 8, 19, 6, 2 }, { 30, 3, 7, 19, 6, 2 }, + { 31, 3, 6, 19, 6, 2 }, { 32, 2, 6, 19, 6, 2 }, { 33, 1, 5, 19, 6, 2 }, { 34, 1, 4, 19, 6, 2 }, { 35, 0, 4, 19, 6, 2 }, + { 36, 0, 3, 19, 6, 2 }, { 37, -1, 3, 19, 6, 2 }, { 38, -2, 2, 19, 6, 2 }, { 39, -2, 1, 19, 6, 2 }, { 40, -3, 1, 18, 6, 2 }, + { 41, -3, 0, 18, 6, 2 }, { 42, -4, -1, 18, 6, 2 }, { 43, -4, -1, 18, 6, 2 }, { 44, -5, -2, 18, 6, 2 }, { 45, -5, -2, 18, 6, 2 }, + { 46, -6, -3, 18, 6, 2 }, { 47, -6, -4, 18, 6, 2 }, { 48, -7, -4, 18, 6, 2 }, { 49, -7, -5, 18, 6, 2 }, { 50, -7, -5, 18, 6, 2 }, + { 51, -8, -6, 18, 6, 2 }, { 52, -8, -7, 18, 6, 2 }, { 53, -9, -7, 18, 6, 2 }, { 54, -9, -8, 18, 6, 2 }, { 55, -9, -8, 18, 6, 2 }, + { 56, -10, -9, 18, 6, 2 }, { 57, -10, -10, 18, 6, 2 }, { 58, -11, -10, 18, 6, 2 }, { 59, -11, -11, 18, 6, 2 }, { 60, -11, -12, 18, 6, 2 }, + { 61, -12, -12, 18, 6, 2 }, { 62, -12, -13, 18, 6, 2 }, { 63, -12, -13, 17, 6, 2 }, { 64, -12, -14, 17, 6, 2 }, { 65, -13, -15, 17, 6, 2 }, + { 66, -13, -15, 17, 6, 2 }, { 67, -13, -16, 17, 6, 2 }, { 68, -14, -16, 17, 6, 2 }, { 69, -14, -17, 17, 6, 2 }, { 70, -14, -17, 17, 6, 2 }, + { 71, -14, -18, 17, 6, 2 }, { 72, -14, -19, 17, 6, 2 }, { 73, -15, -19, 17, 6, 2 }, { 74, -15, -20, 17, 6, 2 }, { 75, -15, -20, 17, 6, 2 }, + { 76, -15, -21, 17, 6, 2 }, { 77, -15, -22, 17, 6, 2 }, { 78, -16, -22, 17, 6, 2 }, { 79, -16, -23, 17, 6, 2 }, { 80, -16, -23, 17, 6, 2 }, + { 81, -16, -24, 17, 6, 2 }, { 82, -16, -24, 17, 6, 2 }, { 83, -16, -25, 17, 6, 2 }, { 84, -16, -26, 17, 6, 2 }, { 85, -16, -26, 16, 6, 2 }, + { 86, -17, -27, 16, 6, 2 }, { 87, -17, -27, 16, 6, 2 }, { 88, -17, -28, 16, 6, 2 }, { 89, -17, -28, 16, 6, 2 }, { 90, -17, -29, 16, 6, 2 }, + { 91, -17, -30, 16, 6, 2 }, { 92, -17, -30, 16, 6, 2 }, { 93, -17, -31, 16, 6, 2 }, { 94, -17, -31, 16, 6, 2 }, { 95, -17, -32, 16, 6, 2 }, + { 96, -17, -32, 16, 6, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoLeftEighthBankToOrthogonalDown253, { + { 15, 15, 15, 28, 6, 2 }, { 14, 14, 14, 28, 6, 2 }, { 13, 13, 14, 28, 6, 2 }, { 12, 12, 13, 28, 6, 2 }, { 11, 11, 13, 28, 6, 2 }, + { 10, 10, 12, 27, 6, 2 }, { 9, 9, 11, 27, 6, 2 }, { 9, 8, 11, 27, 6, 2 }, { 8, 7, 10, 27, 6, 2 }, { 7, 6, 9, 27, 6, 2 }, + { 6, 5, 9, 27, 6, 2 }, { 6, 4, 8, 27, 6, 2 }, { 5, 3, 8, 27, 6, 2 }, { 4, 2, 7, 27, 6, 2 }, { 4, 1, 6, 27, 6, 2 }, + { 3, 0, 6, 27, 6, 2 }, { 2, -1, 5, 27, 6, 2 }, { 2, -2, 4, 27, 6, 2 }, { 1, -3, 4, 27, 6, 2 }, { 1, -4, 3, 27, 6, 2 }, + { 0, -5, 3, 27, 6, 2 }, { -1, -6, 2, 27, 6, 2 }, { -1, -7, 1, 27, 6, 2 }, { -2, -8, 1, 26, 6, 2 }, { -2, -9, 0, 26, 6, 2 }, + { -3, -10, -1, 26, 6, 2 }, { -3, -11, -1, 26, 6, 2 }, { -4, -12, -2, 26, 6, 2 }, { -4, -13, -2, 26, 6, 2 }, { -5, -14, -3, 26, 6, 2 }, + { -5, -15, -4, 26, 6, 2 }, { -6, -16, -4, 26, 6, 2 }, { -6, -17, -5, 26, 6, 2 }, { -6, -18, -5, 26, 6, 2 }, { -7, -19, -6, 26, 6, 2 }, + { -7, -20, -7, 26, 6, 2 }, { -8, -21, -7, 26, 6, 2 }, { -8, -22, -8, 26, 6, 2 }, { -8, -23, -8, 26, 6, 2 }, { -9, -24, -9, 26, 6, 2 }, + { -9, -25, -10, 26, 6, 2 }, { -10, -26, -10, 26, 6, 2 }, { -10, -27, -11, 26, 6, 2 }, { -10, -28, -12, 26, 6, 2 }, { -11, -29, -12, 26, 6, 2 }, + { -11, -30, -13, 26, 6, 2 }, { -11, -31, -13, 25, 6, 2 }, { -11, -32, -14, 25, 6, 2 }, { -12, -33, -15, 25, 6, 2 }, { -12, -34, -15, 25, 6, 2 }, + { -12, -35, -16, 25, 6, 2 }, { -13, -36, -16, 25, 6, 2 }, { -13, -37, -17, 25, 6, 2 }, { -13, -38, -17, 25, 6, 2 }, { -13, -39, -18, 25, 6, 2 }, + { -13, -40, -19, 25, 6, 2 }, { -14, -41, -19, 25, 6, 2 }, { -14, -42, -20, 25, 6, 2 }, { -14, -43, -20, 25, 6, 2 }, { -14, -44, -21, 25, 6, 2 }, + { -14, -45, -22, 25, 6, 2 }, { -15, -46, -22, 25, 6, 2 }, { -15, -47, -23, 25, 6, 2 }, { -15, -48, -23, 25, 6, 2 }, { -15, -49, -24, 25, 6, 2 }, + { -15, -50, -24, 25, 6, 2 }, { -15, -51, -25, 25, 6, 2 }, { -15, -52, -26, 25, 6, 2 }, { -15, -53, -26, 24, 6, 2 }, { -16, -54, -27, 24, 6, 2 }, + { -16, -55, -27, 24, 6, 2 }, { -16, -56, -28, 24, 6, 2 }, { -16, -57, -28, 24, 6, 2 }, { -16, -58, -29, 24, 6, 2 }, { -16, -59, -30, 24, 6, 2 }, + { -16, -60, -30, 24, 6, 2 }, { -16, -61, -31, 24, 6, 2 }, { -16, -62, -31, 24, 6, 2 }, { -16, -63, -32, 24, 6, 2 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalDown250, { + { 15, 16, 15, 4, 6, 4 }, { 14, 17, 14, 4, 6, 4 }, { 13, 18, 14, 4, 6, 4 }, { 12, 19, 13, 4, 6, 4 }, { 11, 20, 13, 4, 6, 4 }, + { 10, 21, 12, 5, 6, 4 }, { 9, 22, 11, 5, 6, 4 }, { 9, 23, 11, 5, 6, 4 }, { 8, 24, 10, 5, 6, 4 }, { 7, 25, 9, 5, 6, 4 }, + { 6, 26, 9, 5, 6, 4 }, { 6, 27, 8, 5, 6, 4 }, { 5, 28, 8, 5, 6, 4 }, { 4, 29, 7, 5, 6, 4 }, { 4, 30, 6, 5, 6, 4 }, + { 3, 31, 6, 5, 6, 4 }, { 2, 32, 5, 5, 6, 4 }, { 2, 33, 4, 5, 6, 4 }, { 1, 34, 4, 5, 6, 4 }, { 1, 35, 3, 5, 6, 4 }, + { 0, 36, 3, 5, 6, 4 }, { -1, 37, 2, 5, 6, 4 }, { -1, 38, 1, 5, 6, 4 }, { -2, 39, 1, 6, 6, 4 }, { -2, 40, 0, 6, 6, 4 }, + { -3, 41, -1, 6, 6, 4 }, { -3, 42, -1, 6, 6, 4 }, { -4, 43, -2, 6, 6, 4 }, { -4, 44, -2, 6, 6, 4 }, { -5, 45, -3, 6, 6, 4 }, + { -5, 46, -4, 6, 6, 4 }, { -6, 47, -4, 6, 6, 4 }, { -6, 48, -5, 6, 6, 4 }, { -6, 49, -5, 6, 6, 4 }, { -7, 50, -6, 6, 6, 4 }, + { -7, 51, -7, 6, 6, 4 }, { -8, 52, -7, 6, 6, 4 }, { -8, 53, -8, 6, 6, 4 }, { -8, 54, -8, 6, 6, 4 }, { -9, 55, -9, 6, 6, 4 }, + { -9, 56, -10, 6, 6, 4 }, { -10, 57, -10, 6, 6, 4 }, { -10, 58, -11, 6, 6, 4 }, { -10, 59, -12, 6, 6, 4 }, { -11, 60, -12, 6, 6, 4 }, + { -11, 61, -13, 6, 6, 4 }, { -11, 62, -13, 7, 6, 4 }, { -11, 63, -14, 7, 6, 4 }, { -12, 64, -15, 7, 6, 4 }, { -12, 65, -15, 7, 6, 4 }, + { -12, 66, -16, 7, 6, 4 }, { -13, 67, -16, 7, 6, 4 }, { -13, 68, -17, 7, 6, 4 }, { -13, 69, -17, 7, 6, 4 }, { -13, 70, -18, 7, 6, 4 }, + { -13, 71, -19, 7, 6, 4 }, { -14, 72, -19, 7, 6, 4 }, { -14, 73, -20, 7, 6, 4 }, { -14, 74, -20, 7, 6, 4 }, { -14, 75, -21, 7, 6, 4 }, + { -14, 76, -22, 7, 6, 4 }, { -15, 77, -22, 7, 6, 4 }, { -15, 78, -23, 7, 6, 4 }, { -15, 79, -23, 7, 6, 4 }, { -15, 80, -24, 7, 6, 4 }, + { -15, 81, -24, 7, 6, 4 }, { -15, 82, -25, 7, 6, 4 }, { -15, 83, -26, 7, 6, 4 }, { -15, 84, -26, 8, 6, 4 }, { -16, 85, -27, 8, 6, 4 }, + { -16, 86, -27, 8, 6, 4 }, { -16, 87, -28, 8, 6, 4 }, { -16, 88, -28, 8, 6, 4 }, { -16, 89, -29, 8, 6, 4 }, { -16, 90, -30, 8, 6, 4 }, + { -16, 91, -30, 8, 6, 4 }, { -16, 92, -31, 8, 6, 4 }, { -16, 93, -31, 8, 6, 4 }, { -16, 94, -32, 8, 6, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalDown251, { + { 16, 16, 16, 12, 6, 4 }, { 17, 17, 15, 12, 6, 4 }, { 18, 18, 14, 12, 6, 4 }, { 19, 19, 14, 12, 6, 4 }, { 20, 20, 13, 12, 6, 4 }, + { 21, 21, 13, 12, 6, 4 }, { 22, 22, 12, 13, 6, 4 }, { 23, 23, 11, 13, 6, 4 }, { 24, 23, 11, 13, 6, 4 }, { 25, 24, 10, 13, 6, 4 }, + { 26, 25, 9, 13, 6, 4 }, { 27, 26, 9, 13, 6, 4 }, { 28, 26, 8, 13, 6, 4 }, { 29, 27, 8, 13, 6, 4 }, { 30, 28, 7, 13, 6, 4 }, + { 31, 28, 6, 13, 6, 4 }, { 32, 29, 6, 13, 6, 4 }, { 33, 30, 5, 13, 6, 4 }, { 34, 30, 4, 13, 6, 4 }, { 35, 31, 4, 13, 6, 4 }, + { 36, 31, 3, 13, 6, 4 }, { 37, 32, 3, 13, 6, 4 }, { 38, 33, 2, 13, 6, 4 }, { 39, 33, 1, 13, 6, 4 }, { 40, 34, 1, 14, 6, 4 }, + { 41, 34, 0, 14, 6, 4 }, { 42, 35, -1, 14, 6, 4 }, { 43, 35, -1, 14, 6, 4 }, { 44, 36, -2, 14, 6, 4 }, { 45, 36, -2, 14, 6, 4 }, + { 46, 37, -3, 14, 6, 4 }, { 47, 37, -4, 14, 6, 4 }, { 48, 38, -4, 14, 6, 4 }, { 49, 38, -5, 14, 6, 4 }, { 50, 38, -5, 14, 6, 4 }, + { 51, 39, -6, 14, 6, 4 }, { 52, 39, -7, 14, 6, 4 }, { 53, 40, -7, 14, 6, 4 }, { 54, 40, -8, 14, 6, 4 }, { 55, 40, -8, 14, 6, 4 }, + { 56, 41, -9, 14, 6, 4 }, { 57, 41, -10, 14, 6, 4 }, { 58, 42, -10, 14, 6, 4 }, { 59, 42, -11, 14, 6, 4 }, { 60, 42, -12, 14, 6, 4 }, + { 61, 43, -12, 14, 6, 4 }, { 62, 43, -13, 14, 6, 4 }, { 63, 43, -13, 15, 6, 4 }, { 64, 43, -14, 15, 6, 4 }, { 65, 44, -15, 15, 6, 4 }, + { 66, 44, -15, 15, 6, 4 }, { 67, 44, -16, 15, 6, 4 }, { 68, 45, -16, 15, 6, 4 }, { 69, 45, -17, 15, 6, 4 }, { 70, 45, -17, 15, 6, 4 }, + { 71, 45, -18, 15, 6, 4 }, { 72, 45, -19, 15, 6, 4 }, { 73, 46, -19, 15, 6, 4 }, { 74, 46, -20, 15, 6, 4 }, { 75, 46, -20, 15, 6, 4 }, + { 76, 46, -21, 15, 6, 4 }, { 77, 46, -22, 15, 6, 4 }, { 78, 47, -22, 15, 6, 4 }, { 79, 47, -23, 15, 6, 4 }, { 80, 47, -23, 15, 6, 4 }, + { 81, 47, -24, 15, 6, 4 }, { 82, 47, -24, 15, 6, 4 }, { 83, 47, -25, 15, 6, 4 }, { 84, 47, -26, 15, 6, 4 }, { 85, 47, -26, 16, 6, 4 }, + { 86, 48, -27, 16, 6, 4 }, { 87, 48, -27, 16, 6, 4 }, { 88, 48, -28, 16, 6, 4 }, { 89, 48, -28, 16, 6, 4 }, { 90, 48, -29, 16, 6, 4 }, + { 91, 48, -30, 16, 6, 4 }, { 92, 48, -30, 16, 6, 4 }, { 93, 48, -31, 16, 6, 4 }, { 94, 48, -31, 16, 6, 4 }, { 95, 48, -32, 16, 6, 4 }, +}) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalDown252, { + { 16, 15, 16, 20, 6, 4 }, { 17, 14, 15, 20, 6, 4 }, { 18, 13, 14, 20, 6, 4 }, { 19, 12, 14, 20, 6, 4 }, { 20, 11, 13, 20, 6, 4 }, + { 21, 10, 13, 20, 6, 4 }, { 22, 9, 12, 21, 6, 4 }, { 23, 8, 11, 21, 6, 4 }, { 23, 7, 11, 21, 6, 4 }, { 24, 6, 10, 21, 6, 4 }, + { 25, 5, 9, 21, 6, 4 }, { 26, 4, 9, 21, 6, 4 }, { 26, 3, 8, 21, 6, 4 }, { 27, 2, 8, 21, 6, 4 }, { 28, 1, 7, 21, 6, 4 }, + { 28, 0, 6, 21, 6, 4 }, { 29, -1, 6, 21, 6, 4 }, { 30, -2, 5, 21, 6, 4 }, { 30, -3, 4, 21, 6, 4 }, { 31, -4, 4, 21, 6, 4 }, + { 31, -5, 3, 21, 6, 4 }, { 32, -6, 3, 21, 6, 4 }, { 33, -7, 2, 21, 6, 4 }, { 33, -8, 1, 21, 6, 4 }, { 34, -9, 1, 22, 6, 4 }, + { 34, -10, 0, 22, 6, 4 }, { 35, -11, -1, 22, 6, 4 }, { 35, -12, -1, 22, 6, 4 }, { 36, -13, -2, 22, 6, 4 }, { 36, -14, -2, 22, 6, 4 }, + { 37, -15, -3, 22, 6, 4 }, { 37, -16, -4, 22, 6, 4 }, { 38, -17, -4, 22, 6, 4 }, { 38, -18, -5, 22, 6, 4 }, { 38, -19, -5, 22, 6, 4 }, + { 39, -20, -6, 22, 6, 4 }, { 39, -21, -7, 22, 6, 4 }, { 40, -22, -7, 22, 6, 4 }, { 40, -23, -8, 22, 6, 4 }, { 40, -24, -8, 22, 6, 4 }, + { 41, -25, -9, 22, 6, 4 }, { 41, -26, -10, 22, 6, 4 }, { 42, -27, -10, 22, 6, 4 }, { 42, -28, -11, 22, 6, 4 }, { 42, -29, -12, 22, 6, 4 }, + { 43, -30, -12, 22, 6, 4 }, { 43, -31, -13, 22, 6, 4 }, { 43, -32, -13, 23, 6, 4 }, { 43, -33, -14, 23, 6, 4 }, { 44, -34, -15, 23, 6, 4 }, + { 44, -35, -15, 23, 6, 4 }, { 44, -36, -16, 23, 6, 4 }, { 45, -37, -16, 23, 6, 4 }, { 45, -38, -17, 23, 6, 4 }, { 45, -39, -17, 23, 6, 4 }, + { 45, -40, -18, 23, 6, 4 }, { 45, -41, -19, 23, 6, 4 }, { 46, -42, -19, 23, 6, 4 }, { 46, -43, -20, 23, 6, 4 }, { 46, -44, -20, 23, 6, 4 }, + { 46, -45, -21, 23, 6, 4 }, { 46, -46, -22, 23, 6, 4 }, { 47, -47, -22, 23, 6, 4 }, { 47, -48, -23, 23, 6, 4 }, { 47, -49, -23, 23, 6, 4 }, + { 47, -50, -24, 23, 6, 4 }, { 47, -51, -24, 23, 6, 4 }, { 47, -52, -25, 23, 6, 4 }, { 47, -53, -26, 23, 6, 4 }, { 47, -54, -26, 24, 6, 4 }, + { 48, -55, -27, 24, 6, 4 }, { 48, -56, -27, 24, 6, 4 }, { 48, -57, -28, 24, 6, 4 }, { 48, -58, -28, 24, 6, 4 }, { 48, -59, -29, 24, 6, 4 }, + { 48, -60, -30, 24, 6, 4 }, { 48, -61, -30, 24, 6, 4 }, { 48, -62, -31, 24, 6, 4 }, { 48, -63, -31, 24, 6, 4 }, { 48, -64, -32, 24, 6, 4 }, + { 48, -65, -32, 24, 6, 4 }, }) + +CREATE_VEHICLE_INFO(TrackVehicleInfoRightEighthBankToOrthogonalDown253, { + { 15, 15, 15, 28, 6, 4 }, { 14, 14, 14, 28, 6, 4 }, { 13, 13, 14, 28, 6, 4 }, { 12, 12, 13, 28, 6, 4 }, { 11, 11, 13, 28, 6, 4 }, + { 10, 10, 12, 29, 6, 4 }, { 9, 9, 11, 29, 6, 4 }, { 8, 9, 11, 29, 6, 4 }, { 7, 8, 10, 29, 6, 4 }, { 6, 7, 9, 29, 6, 4 }, + { 5, 6, 9, 29, 6, 4 }, { 4, 6, 8, 29, 6, 4 }, { 3, 5, 8, 29, 6, 4 }, { 2, 4, 7, 29, 6, 4 }, { 1, 4, 6, 29, 6, 4 }, + { 0, 3, 6, 29, 6, 4 }, { -1, 2, 5, 29, 6, 4 }, { -2, 2, 4, 29, 6, 4 }, { -3, 1, 4, 29, 6, 4 }, { -4, 1, 3, 29, 6, 4 }, + { -5, 0, 3, 29, 6, 4 }, { -6, -1, 2, 29, 6, 4 }, { -7, -1, 1, 29, 6, 4 }, { -8, -2, 1, 30, 6, 4 }, { -9, -2, 0, 30, 6, 4 }, + { -10, -3, -1, 30, 6, 4 }, { -11, -3, -1, 30, 6, 4 }, { -12, -4, -2, 30, 6, 4 }, { -13, -4, -2, 30, 6, 4 }, { -14, -5, -3, 30, 6, 4 }, + { -15, -5, -4, 30, 6, 4 }, { -16, -6, -4, 30, 6, 4 }, { -17, -6, -5, 30, 6, 4 }, { -18, -6, -5, 30, 6, 4 }, { -19, -7, -6, 30, 6, 4 }, + { -20, -7, -7, 30, 6, 4 }, { -21, -8, -7, 30, 6, 4 }, { -22, -8, -8, 30, 6, 4 }, { -23, -8, -8, 30, 6, 4 }, { -24, -9, -9, 30, 6, 4 }, + { -25, -9, -10, 30, 6, 4 }, { -26, -10, -10, 30, 6, 4 }, { -27, -10, -11, 30, 6, 4 }, { -28, -10, -12, 30, 6, 4 }, { -29, -11, -12, 30, 6, 4 }, + { -30, -11, -13, 30, 6, 4 }, { -31, -11, -13, 31, 6, 4 }, { -32, -11, -14, 31, 6, 4 }, { -33, -12, -15, 31, 6, 4 }, { -34, -12, -15, 31, 6, 4 }, + { -35, -12, -16, 31, 6, 4 }, { -36, -13, -16, 31, 6, 4 }, { -37, -13, -17, 31, 6, 4 }, { -38, -13, -17, 31, 6, 4 }, { -39, -13, -18, 31, 6, 4 }, + { -40, -13, -19, 31, 6, 4 }, { -41, -14, -19, 31, 6, 4 }, { -42, -14, -20, 31, 6, 4 }, { -43, -14, -20, 31, 6, 4 }, { -44, -14, -21, 31, 6, 4 }, + { -45, -14, -22, 31, 6, 4 }, { -46, -15, -22, 31, 6, 4 }, { -47, -15, -23, 31, 6, 4 }, { -48, -15, -23, 31, 6, 4 }, { -49, -15, -24, 31, 6, 4 }, + { -50, -15, -24, 31, 6, 4 }, { -51, -15, -25, 31, 6, 4 }, { -52, -15, -26, 31, 6, 4 }, { -53, -15, -26, 0, 6, 4 }, { -54, -16, -27, 0, 6, 4 }, + { -55, -16, -27, 0, 6, 4 }, { -56, -16, -28, 0, 6, 4 }, { -57, -16, -28, 0, 6, 4 }, { -58, -16, -29, 0, 6, 4 }, { -59, -16, -30, 0, 6, 4 }, + { -60, -16, -30, 0, 6, 4 }, { -61, -16, -31, 0, 6, 4 }, { -62, -16, -31, 0, 6, 4 }, { -63, -16, -32, 0, 6, 4 }, { -64, -16, -32, 0, 6, 4 }, +}) + + + + + + + namespace LeftLane @@ -27802,6 +30030,52 @@ static constexpr const VehicleInfoList *TrackVehicleInfoListDefault[] = { &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown0, &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown1, &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown2, &TrackVehicleInfo_LeftFlyerLargeHalfLoopUninvertedDown3, // LeftFlyerLargeHalfLoopUninvertedDown &TrackVehicleInfo_8E644E, &TrackVehicleInfo_8E69F9, &TrackVehicleInfo_8E6FA4, &TrackVehicleInfo_8E754F, // FlyerHalfLoopInvertedUp &TrackVehicleInfo_FlyerHalfLoopUninvertedDown0, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown1, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown2, &TrackVehicleInfo_FlyerHalfLoopUninvertedDown3, // FlyerHalfLoopUninvertedDown + &TrackVehicleInfoLeftEighthToDiagUp250, &TrackVehicleInfoLeftEighthToDiagUp251, &TrackVehicleInfoLeftEighthToDiagUp252, &TrackVehicleInfoLeftEighthToDiagUp253, // TrackElemType::LeftEighthToDiagUp25 + &TrackVehicleInfoRightEighthToDiagUp250, &TrackVehicleInfoRightEighthToDiagUp251, &TrackVehicleInfoRightEighthToDiagUp252, &TrackVehicleInfoRightEighthToDiagUp253, // TrackElemType::RightEighthToDiagUp25 + &TrackVehicleInfoLeftEighthToDiagDown250, &TrackVehicleInfoLeftEighthToDiagDown251, &TrackVehicleInfoLeftEighthToDiagDown252, &TrackVehicleInfoLeftEighthToDiagDown253, // TrackElemType::LeftEighthToDiagDown25 + &TrackVehicleInfoRightEighthToDiagDown250, &TrackVehicleInfoRightEighthToDiagDown251, &TrackVehicleInfoRightEighthToDiagDown252, &TrackVehicleInfoRightEighthToDiagDown253, // TrackElemType::RightEighthToDiagDown25 + &TrackVehicleInfoLeftEighthToOrthogonalUp250, &TrackVehicleInfoLeftEighthToOrthogonalUp251, &TrackVehicleInfoLeftEighthToOrthogonalUp252, &TrackVehicleInfoLeftEighthToOrthogonalUp253, // TrackElemType::LeftEighthToOrthogonalUp25 + &TrackVehicleInfoRightEighthToOrthogonalUp250, &TrackVehicleInfoRightEighthToOrthogonalUp251, &TrackVehicleInfoRightEighthToOrthogonalUp252, &TrackVehicleInfoRightEighthToOrthogonalUp253, // TrackElemType::RightEighthToOrthogonalUp25 + &TrackVehicleInfoLeftEighthToOrthogonalDown250, &TrackVehicleInfoLeftEighthToOrthogonalDown251, &TrackVehicleInfoLeftEighthToOrthogonalDown252, &TrackVehicleInfoLeftEighthToOrthogonalDown253, // TrackElemType::LeftEighthToOrthogonalDown25 + &TrackVehicleInfoRightEighthToOrthogonalDown250, &TrackVehicleInfoRightEighthToOrthogonalDown251, &TrackVehicleInfoRightEighthToOrthogonalDown252, &TrackVehicleInfoRightEighthToOrthogonalDown253, // TrackElemType::RightEighthToOrthogonalDown25 + + &TrackVehicleInfoDiagUp25ToLeftBankedUp250, &TrackVehicleInfoDiagUp25ToLeftBankedUp251, &TrackVehicleInfoDiagUp25ToLeftBankedUp252, &TrackVehicleInfoDiagUp25ToLeftBankedUp253, // TrackElemType::DiagUp25ToLeftBankedUp25 + &TrackVehicleInfoDiagUp25ToRightBankedUp250, &TrackVehicleInfoDiagUp25ToRightBankedUp251, &TrackVehicleInfoDiagUp25ToRightBankedUp252, &TrackVehicleInfoDiagUp25ToRightBankedUp253, // TrackElemType::DiagUp25ToRightBankedUp25 + &TrackVehicleInfoDiagLeftBankedUp25ToUp250, &TrackVehicleInfoDiagLeftBankedUp25ToUp251, &TrackVehicleInfoDiagLeftBankedUp25ToUp252, &TrackVehicleInfoDiagLeftBankedUp25ToUp253, // TrackElemType::DiagLeftBankedUp25ToUp25 + &TrackVehicleInfoDiagRightBankedUp25ToUp250, &TrackVehicleInfoDiagRightBankedUp25ToUp251, &TrackVehicleInfoDiagRightBankedUp25ToUp252, &TrackVehicleInfoDiagRightBankedUp25ToUp253, // TrackElemType::DiagRightBankedUp25ToUp25 + &TrackVehicleInfoDiagDown25ToLeftBankedDown250, &TrackVehicleInfoDiagDown25ToLeftBankedDown251, &TrackVehicleInfoDiagDown25ToLeftBankedDown252, &TrackVehicleInfoDiagDown25ToLeftBankedDown253, // TrackElemType::DiagDown25ToLeftBankedDown25 + &TrackVehicleInfoDiagDown25ToRightBankedDown250, &TrackVehicleInfoDiagDown25ToRightBankedDown251, &TrackVehicleInfoDiagDown25ToRightBankedDown252, &TrackVehicleInfoDiagDown25ToRightBankedDown253, // TrackElemType::DiagDown25ToRightBankedDown25 + &TrackVehicleInfoDiagLeftBankedDown25ToDown250, &TrackVehicleInfoDiagLeftBankedDown25ToDown251, &TrackVehicleInfoDiagLeftBankedDown25ToDown252, &TrackVehicleInfoDiagLeftBankedDown25ToDown253, // TrackElemType::DiagLeftBankedDown25ToDown25 + &TrackVehicleInfoDiagRightBankedDown25ToDown250, &TrackVehicleInfoDiagRightBankedDown25ToDown251, &TrackVehicleInfoDiagRightBankedDown25ToDown252, &TrackVehicleInfoDiagRightBankedDown25ToDown253, // TrackElemType::DiagRightBankedDown25ToDown25 + &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp250, &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp251, &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp252, &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedUp253, // TrackElemType::DiagLeftBankedFlatToLeftBankedUp25 + &TrackVehicleInfoDiagRightBankedFlatToRightBankedUp250, &TrackVehicleInfoDiagRightBankedFlatToRightBankedUp251, &TrackVehicleInfoDiagRightBankedFlatToRightBankedUp252, &TrackVehicleInfoDiagRightBankedFlatToRightBankedUp253, // TrackElemType::DiagRightBankedFlatToRightBankedUp25 + &TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat0, &TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat1, &TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat2, &TrackVehicleInfoDiagLeftBankedUp25ToLeftBankedFlat3, // TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat + &TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat0, &TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat1, &TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat2, &TrackVehicleInfoDiagRightBankedUp25ToRightBankedFlat3, // TrackElemType::DiagRightBankedUp25ToRightBankedFlat + &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown250, &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown251, &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown252, &TrackVehicleInfoDiagLeftBankedFlatToLeftBankedDown253, // TrackElemType::DiagLeftBankedFlatToLeftBankedDown25 + &TrackVehicleInfoDiagRightBankedFlatToRightBankedDown250, &TrackVehicleInfoDiagRightBankedFlatToRightBankedDown251, &TrackVehicleInfoDiagRightBankedFlatToRightBankedDown252, &TrackVehicleInfoDiagRightBankedFlatToRightBankedDown253, // TrackElemType::DiagRightBankedFlatToRightBankedDown25 + &TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat0, &TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat1, &TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat2, &TrackVehicleInfoDiagLeftBankedDown25ToLeftBankedFlat3, // TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat + &TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat0, &TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat1, &TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat2, &TrackVehicleInfoDiagRightBankedDown25ToRightBankedFlat3, // TrackElemType::DiagRightBankedDown25ToRightBankedFlat + &TrackVehicleInfoDiagFlatToLeftBankedUp250, &TrackVehicleInfoDiagFlatToLeftBankedUp251, &TrackVehicleInfoDiagFlatToLeftBankedUp252, &TrackVehicleInfoDiagFlatToLeftBankedUp253, // TrackElemType::DiagFlatToLeftBankedUp25 + &TrackVehicleInfoDiagFlatToRightBankedUp250, &TrackVehicleInfoDiagFlatToRightBankedUp251, &TrackVehicleInfoDiagFlatToRightBankedUp252, &TrackVehicleInfoDiagFlatToRightBankedUp253, // TrackElemType::DiagFlatToRightBankedUp25 + &TrackVehicleInfoDiagLeftBankedUp25ToFlat0, &TrackVehicleInfoDiagLeftBankedUp25ToFlat1, &TrackVehicleInfoDiagLeftBankedUp25ToFlat2, &TrackVehicleInfoDiagLeftBankedUp25ToFlat3, // TrackElemType::DiagLeftBankedUp25ToFlat + &TrackVehicleInfoDiagRightBankedUp25ToFlat0, &TrackVehicleInfoDiagRightBankedUp25ToFlat1, &TrackVehicleInfoDiagRightBankedUp25ToFlat2, &TrackVehicleInfoDiagRightBankedUp25ToFlat3, // TrackElemType::DiagRightBankedUp25ToFlat + &TrackVehicleInfoDiagFlatToLeftBankedDown250, &TrackVehicleInfoDiagFlatToLeftBankedDown251, &TrackVehicleInfoDiagFlatToLeftBankedDown252, &TrackVehicleInfoDiagFlatToLeftBankedDown253, // TrackElemType::DiagFlatToLeftBankedDown25 + &TrackVehicleInfoDiagFlatToRightBankedDown250, &TrackVehicleInfoDiagFlatToRightBankedDown251, &TrackVehicleInfoDiagFlatToRightBankedDown252, &TrackVehicleInfoDiagFlatToRightBankedDown253, // TrackElemType::DiagFlatToRightBankedDown25 + &TrackVehicleInfoDiagLeftBankedDown25ToFlat0, &TrackVehicleInfoDiagLeftBankedDown25ToFlat1, &TrackVehicleInfoDiagLeftBankedDown25ToFlat2, &TrackVehicleInfoDiagLeftBankedDown25ToFlat3, // TrackElemType::DiagLeftBankedDown25ToFlat + &TrackVehicleInfoDiagRightBankedDown25ToFlat0, &TrackVehicleInfoDiagRightBankedDown25ToFlat1, &TrackVehicleInfoDiagRightBankedDown25ToFlat2, &TrackVehicleInfoDiagRightBankedDown25ToFlat3, // TrackElemType::DiagRightBankedDown25ToFlat + &TrackVehicleInfoDiagUp25LeftBanked0, &TrackVehicleInfoDiagUp25LeftBanked1, &TrackVehicleInfoDiagUp25LeftBanked2, &TrackVehicleInfoDiagUp25LeftBanked3, // TrackElemType::DiagUp25LeftBanked + &TrackVehicleInfoDiagUp25RightBanked0, &TrackVehicleInfoDiagUp25RightBanked1, &TrackVehicleInfoDiagUp25RightBanked2, &TrackVehicleInfoDiagUp25RightBanked3, // TrackElemType::DiagUp25RightBanked + &TrackVehicleInfoDiagDown25LeftBanked0, &TrackVehicleInfoDiagDown25LeftBanked1, &TrackVehicleInfoDiagDown25LeftBanked2, &TrackVehicleInfoDiagDown25LeftBanked3, // TrackElemType::DiagDown25LeftBanked + &TrackVehicleInfoDiagDown25RightBanked0, &TrackVehicleInfoDiagDown25RightBanked1, &TrackVehicleInfoDiagDown25RightBanked2, &TrackVehicleInfoDiagDown25RightBanked3, // TrackElemType::DiagDown25RightBanked + + &TrackVehicleInfoLeftEighthBankToDiagUp250, &TrackVehicleInfoLeftEighthBankToDiagUp251, &TrackVehicleInfoLeftEighthBankToDiagUp252, &TrackVehicleInfoLeftEighthBankToDiagUp253, // TrackElemType::LeftEighthBankBankToDiagUp25 + &TrackVehicleInfoRightEighthBankToDiagUp250, &TrackVehicleInfoRightEighthBankToDiagUp251, &TrackVehicleInfoRightEighthBankToDiagUp252, &TrackVehicleInfoRightEighthBankToDiagUp253, // TrackElemType::RightEighthBankBankToDiagUp25 + &TrackVehicleInfoLeftEighthBankToDiagDown250, &TrackVehicleInfoLeftEighthBankToDiagDown251, &TrackVehicleInfoLeftEighthBankToDiagDown252, &TrackVehicleInfoLeftEighthBankToDiagDown253, // TrackElemType::LeftEighthBankBankToDiagDown25 + &TrackVehicleInfoRightEighthBankToDiagDown250, &TrackVehicleInfoRightEighthBankToDiagDown251, &TrackVehicleInfoRightEighthBankToDiagDown252, &TrackVehicleInfoRightEighthBankToDiagDown253, // TrackElemType::RightEighthBankBankToDiagDown25 + &TrackVehicleInfoLeftEighthBankToOrthogonalUp250, &TrackVehicleInfoLeftEighthBankToOrthogonalUp251, &TrackVehicleInfoLeftEighthBankToOrthogonalUp252, &TrackVehicleInfoLeftEighthBankToOrthogonalUp253, // TrackElemType::LeftEighthBankBankToOrthogonalUp25 + &TrackVehicleInfoRightEighthBankToOrthogonalUp250, &TrackVehicleInfoRightEighthBankToOrthogonalUp251, &TrackVehicleInfoRightEighthBankToOrthogonalUp252, &TrackVehicleInfoRightEighthBankToOrthogonalUp253, // TrackElemType::RightEighthBankBankToOrthogonalUp25 + &TrackVehicleInfoLeftEighthBankToOrthogonalDown250, &TrackVehicleInfoLeftEighthBankToOrthogonalDown251, &TrackVehicleInfoLeftEighthBankToOrthogonalDown252, &TrackVehicleInfoLeftEighthBankToOrthogonalDown253, // TrackElemType::LeftEighthBankBankToOrthogonalDown25 + &TrackVehicleInfoRightEighthBankToOrthogonalDown250, &TrackVehicleInfoRightEighthBankToOrthogonalDown251, &TrackVehicleInfoRightEighthBankToOrthogonalDown252, &TrackVehicleInfoRightEighthBankToOrthogonalDown253, // TrackElemType::RightEighthBankBankToOrthogonalDown25 }; static_assert(std::size(TrackVehicleInfoListDefault) == VehicleTrackSubpositionSizeDefault); diff --git a/src/openrct2/ride/coaster/HybridCoaster.cpp b/src/openrct2/ride/coaster/HybridCoaster.cpp index d24f0cfbed..b84f9fd2f6 100644 --- a/src/openrct2/ride/coaster/HybridCoaster.cpp +++ b/src/openrct2/ride/coaster/HybridCoaster.cpp @@ -11606,6 +11606,2395 @@ namespace HybridRC } } + static void TrackLeftEighthToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 12)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 1)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 5)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 9)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 13)), { 0, 0, height }, + { { 0, 16, height + 4 }, { 32, 20, 1 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 2)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 6)), + { 0, 0, height }, { { 16, 16, height }, { 16, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 10)), { 0, 0, height }, + { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 14)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, 2 + (direction + 1) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + WoodenASupportsPaintSetup(session, 2 + (direction + 3) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 3)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 7)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 11)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 15)), { 0, 0, height }, + { { 16, 0, height }, { 20, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 16)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 20)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 24)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 28)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 17)), { 0, 0, height }, + { { 0, 16, height + 4 }, { 32, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 21)), { 0, 0, height }, + { { 0, 16, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 25)), { 0, 0, height }, + { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 29)), { 0, 0, height }, + { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 18)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 22)), { 0, 0, height }, + { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 26)), { 0, 0, height }, + { { 4, 4, height }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 30)), { 0, 0, height }, + { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction + 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + WoodenASupportsPaintSetup(session, 2 + (direction + 2) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 19)), { 0, 0, height }, + { { 16, 0, height }, { 20, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 23)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 27)), { 0, 0, height }, + { { 0, 16, height }, { 16, 18, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 31)), { 0, 0, height }, + { { 16, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 32)), { 0, 0, height }, + { { 0, 16, height + 10 }, { 20, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 36)), { 0, 0, height }, + { { 16, 16, height }, { 16, 18, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 40)), { 0, 0, height }, + { { 16, 0, height + 10 }, { 20, 20, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 44)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 33)), { 0, 0, height }, + { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 37)), { 0, 0, height }, + { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 41)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 45)), { 0, 0, height }, + { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + WoodenASupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 34)), { 0, 0, height }, + { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 38)), { 0, 0, height }, + { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 42)), { 0, 0, height }, + { { 0, 16, height }, { 32, 18, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 46)), { 0, 0, height }, + { { 0, 16, height }, { 34, 18, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 35)), { 0, 0, height }, + { { 0, 6, height }, { 34, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 39)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 43)), { 0, 0, height }, + { { -8, 6, height }, { 40, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 47)), { 0, 0, height }, + { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 48)), { 0, 0, height }, + { { 0, 16, height + 10 }, { 20, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 52)), { 0, 0, height }, + { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 56)), { 0, 0, height }, + { { 16, 0, height + 10 }, { 20, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 60)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 49)), { 0, 0, height }, + { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 53)), { 0, 0, height }, + { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 57)), { 0, 0, height }, + { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 61)), { 0, 0, height }, + { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + WoodenASupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 50)), { 0, 0, height }, + { { 16, 0, height }, { 18, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 54)), { 0, 0, height }, + { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 58)), { 0, 0, height }, + { { 0, 0, height }, { 16, 34, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 62)), { 0, 0, height }, + { { 16, 0, height }, { 18, 34, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, (direction - 1) & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 51)), { 0, 0, height }, + { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 55)), { 0, 0, height }, + { { 6, -8, height }, { 20, 40, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 59)), { 0, 0, height }, + { { 6, 0, height }, { 20, 34, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 63)), { 0, 0, height }, + { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + WoodenASupportsPaintSetup( + session, (direction + 1) & 1, 9 + (direction + 1) % 4, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackRightEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + } + + static void TrackRightEighthToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackLeftEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackLeftEighthToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackRightEighthToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackRightEighthToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackLeftEighthToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); + } + + static void TrackDiagUp25ToLeftBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackDiagUp25ToRightBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackDiagLeftBankedUp25ToUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagRightBankedUp25ToUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagDown25ToLeftBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagDown25ToRightBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedDown25ToDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25ToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedDown25ToDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25ToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedFlatToLeftBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + (direction + 2) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagRightBankedFlatToRightBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + (direction + 2) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagLeftBankedUp25ToLeftBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagRightBankedUp25ToRightBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagLeftBankedFlatToLeftBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedUp25ToRightBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedFlatToRightBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedUp25ToLeftBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedDown25ToLeftBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedDown25ToRightBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagUp25LeftBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagUp25RightBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagDown25LeftBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25RightBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagDown25RightBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25LeftBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagFlatToLeftBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + (direction + 2) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagFlatToRightBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + (direction + 2) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagLeftBankedUp25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagRightBankedUp25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + WoodenBSupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + WoodenBSupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + case 2: + break; + case 3: + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagFlatToLeftBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagFlatToRightBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedDown25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedDown25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackLeftEighthBankToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), + { 0, 0, height }, { { 0, 0, height + 16 }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), + { 0, 0, height }, { { 0, 0, height + 16 }, { 32, 1, 32 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), + { 0, 0, height }, { { 0, 0, height }, { 32, 36, 24 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 40, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, 2 + (direction + 1) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + WoodenASupportsPaintSetup(session, 2 + (direction + 3) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), + { 0, 0, height }, { { 16, 0, height }, { 20, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthBankToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), + { 0, 0, height }, { { 0, 0, height + 16 }, { 32, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), + { 0, 0, height }, { { 0, 0, height + 16 }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), + { 0, 0, height }, { { 0, 0, height }, { 32, 36, 24 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 40, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, direction + 2, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + WoodenASupportsPaintSetup(session, 2 + (direction + 2) % 4, 0, height, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), + { 0, 0, height }, { { 16, 0, height }, { 20, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthBankToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), + { 0, 0, height }, { { 0, 16, height + 10 }, { 20, 20, 1 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), + { 0, 0, height }, { { 2, 0, height + 48 }, { 32, 34, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 40, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), + { 0, 0, height }, { { 16, 0, height + 10 }, { 20, 20, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + WoodenASupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), + { 0, 0, height }, { { 0, 31, height }, { 34, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), + { 0, 0, height }, { { 0, 31, height + 8 }, { 32, 1, 48 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), + { 0, 0, height }, { { 0, 0, height }, { 32, 34, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), + { 0, 0, height }, { { 0, 0, height }, { 34, 34, 16 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), + { 0, 0, height }, { { 8, 31, height }, { 40, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), + { 0, 0, height }, { { -2, 0, height + 8 }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), + { 0, 0, height }, { { 0, 0, height }, { 32, 1, 32 } }); + break; + } + WoodenASupportsPaintSetup(session, direction & 1, 9 + direction, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthBankToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), + { 0, 0, height }, { { 0, 16, height + 10 }, { 20, 20, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 40, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 130)), + { 0, 0, height }, { { 16, 0, height + 10 }, { 20, 20, 1 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 131)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 34, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 138)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 132)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 133)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 139)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, 2 + direction, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + WoodenASupportsPaintSetup( + session, 2 + (direction + 2) % 4, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), + { 0, 0, height }, { { 16, 0, height }, { 18, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 128)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 48 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 134)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 135)), + { 0, 0, height }, { { 31, 0, height }, { 1, 34, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 140)), + { 0, 0, height }, { { 16, 0, height }, { 18, 34, 3 } }); + break; + } + WoodenASupportsPaintSetup(session, (direction - 1) & 1, 0, height + 16, session.TrackColours[SCHEME_SUPPORTS]); + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), + { 0, 0, height }, { { 0, -2, height }, { 1, 32, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 129)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 136)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 137)), + { 0, 0, height }, { { 31, 0, height }, { 1, 34, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + GetTrackColour(session).WithIndex((SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 141)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + WoodenASupportsPaintSetup( + session, (direction + 1) & 1, 9 + (direction + 1) % 4, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(SEGMENTS_ALL, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthBankToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackRightEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + } + + static void TrackRightEighthBankToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackLeftEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackLeftEighthBankToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackRightEighthBankToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackRightEighthBankToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackLeftEighthBankToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); + } + TRACK_PAINT_FUNCTION GetTrackPaintFunction(int32_t trackType) { switch (trackType) @@ -11940,6 +14329,96 @@ namespace HybridRC return Track90DegToInvertedFlatQuarterLoopUp; case TrackElemType::InvertedFlatToDown90QuarterLoop: return TrackInvertedFlatTo90DegQuarterLoopDown; + + case TrackElemType::LeftEighthToDiagUp25: + return TrackLeftEighthToDiagUp25; + case TrackElemType::RightEighthToDiagUp25: + return TrackRightEighthToDiagUp25; + case TrackElemType::LeftEighthToDiagDown25: + return TrackLeftEighthToDiagDown25; + case TrackElemType::RightEighthToDiagDown25: + return TrackRightEighthToDiagDown25; + case TrackElemType::LeftEighthToOrthogonalUp25: + return TrackLeftEighthToOrthogonalUp25; + case TrackElemType::RightEighthToOrthogonalUp25: + return TrackRightEighthToOrthogonalUp25; + case TrackElemType::LeftEighthToOrthogonalDown25: + return TrackLeftEighthToOrthogonalDown25; + case TrackElemType::RightEighthToOrthogonalDown25: + return TrackRightEighthToOrthogonalDown25; + case TrackElemType::DiagUp25ToLeftBankedUp25: + return TrackDiagUp25ToLeftBankedUp25; + case TrackElemType::DiagUp25ToRightBankedUp25: + return TrackDiagUp25ToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToUp25: + return TrackDiagLeftBankedUp25ToUp25; + case TrackElemType::DiagRightBankedUp25ToUp25: + return TrackDiagRightBankedUp25ToUp25; + case TrackElemType::DiagDown25ToLeftBankedDown25: + return TrackDiagDown25ToLeftBankedDown25; + case TrackElemType::DiagDown25ToRightBankedDown25: + return TrackDiagDown25ToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToDown25: + return TrackDiagLeftBankedDown25ToDown25; + case TrackElemType::DiagRightBankedDown25ToDown25: + return TrackDiagRightBankedDown25ToDown25; + case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: + return TrackDiagLeftBankedFlatToLeftBankedUp25; + case TrackElemType::DiagRightBankedFlatToRightBankedUp25: + return TrackDiagRightBankedFlatToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: + return TrackDiagLeftBankedUp25ToLeftBankedFlat; + case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: + return TrackDiagRightBankedUp25ToRightBankedFlat; + case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: + return TrackDiagLeftBankedFlatToLeftBankedDown25; + case TrackElemType::DiagRightBankedFlatToRightBankedDown25: + return TrackDiagRightBankedFlatToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: + return TrackDiagLeftBankedDown25ToLeftBankedFlat; + case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: + return TrackDiagRightBankedDown25ToRightBankedFlat; + case TrackElemType::DiagUp25LeftBanked: + return TrackDiagUp25LeftBanked; + case TrackElemType::DiagUp25RightBanked: + return TrackDiagUp25RightBanked; + case TrackElemType::DiagDown25LeftBanked: + return TrackDiagDown25LeftBanked; + case TrackElemType::DiagDown25RightBanked: + return TrackDiagDown25RightBanked; + case TrackElemType::DiagFlatToLeftBankedUp25: + return TrackDiagFlatToLeftBankedUp25; + case TrackElemType::DiagFlatToRightBankedUp25: + return TrackDiagFlatToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToFlat: + return TrackDiagLeftBankedUp25ToFlat; + case TrackElemType::DiagRightBankedUp25ToFlat: + return TrackDiagRightBankedUp25ToFlat; + case TrackElemType::DiagFlatToLeftBankedDown25: + return TrackDiagFlatToLeftBankedDown25; + case TrackElemType::DiagFlatToRightBankedDown25: + return TrackDiagFlatToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToFlat: + return TrackDiagLeftBankedDown25ToFlat; + case TrackElemType::DiagRightBankedDown25ToFlat: + return TrackDiagRightBankedDown25ToFlat; + case TrackElemType::LeftEighthBankToDiagUp25: + return TrackLeftEighthBankToDiagUp25; + case TrackElemType::RightEighthBankToDiagUp25: + return TrackRightEighthBankToDiagUp25; + case TrackElemType::LeftEighthBankToDiagDown25: + return TrackLeftEighthBankToDiagDown25; + case TrackElemType::RightEighthBankToDiagDown25: + return TrackRightEighthBankToDiagDown25; + case TrackElemType::LeftEighthBankToOrthogonalUp25: + return TrackLeftEighthBankToOrthogonalUp25; + case TrackElemType::RightEighthBankToOrthogonalUp25: + return TrackRightEighthBankToOrthogonalUp25; + case TrackElemType::LeftEighthBankToOrthogonalDown25: + return TrackLeftEighthBankToOrthogonalDown25; + case TrackElemType::RightEighthBankToOrthogonalDown25: + return TrackRightEighthBankToOrthogonalDown25; + case TrackElemType::PoweredLift: return TrackpoweredLift; case TrackElemType::Booster: diff --git a/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp b/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp index 851762514a..16a8cf4234 100644 --- a/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SingleRailRollerCoaster.cpp @@ -11668,22 +11668,6 @@ namespace SingleRailRC TrackLeftLargeCorkscrewUp(session, ride, 5 - trackSequence, (direction - 1) & 3, height, trackElement); } - // SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; - // b4 - // c8 cc - // b8 c4 bc - // d0 d4 - // c0 - - // 0 - // 5 6 - // 1 4 2 - // 7 8 - // 3 - - // 3102 - // 8756 - static void TrackLeftMediumHalfLoopUp( PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) @@ -14712,6 +14696,2752 @@ namespace SingleRailRC } } + // SEGMENT_B4 | SEGMENT_B8 | SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4; + // b4 + // c8 cc + // b8 c4 bc + // d0 d4 + // c0 + + // 0 + // 5 6 + // 1 4 2 + // 7 8 + // 3 + + // 3102 + // 8756 + + static void TrackLeftEighthToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 0)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 4)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 8)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 12)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 1)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 5)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 9)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 13)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 2)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 6)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 10)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 14)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 3)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 7)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 11)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 15)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 16)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 20)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 24)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 28)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 17)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 21)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 25)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 29)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 18)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 22)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 26)), + { 0, 0, height }, { { 4, 4, height }, { 28, 28, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 30)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 19)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 23)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 27)), + { 0, 0, height }, { { 0, 16, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 31)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 32)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 36)), + { 0, 0, height }, { { 16, 16, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 40)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 44)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 33)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 37)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 41)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 45)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 34)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 38)), + { 0, 0, height }, { { 0, 0, height }, { 34, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 42)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 46)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 35)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 39)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 43)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 47)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 48)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 52)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 56)), + { 0, 0, height }, { { 16, 0, height }, { 16, 18, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 60)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 49)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 53)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 57)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 61)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 50)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 54)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 58)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 62)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 51)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 55)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 59)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex((SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 63)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackRightEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + } + + static void TrackRightEighthToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackLeftEighthToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackLeftEighthToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackRightEighthToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackRightEighthToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackLeftEighthToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); + } + + static void TrackDiagUp25ToLeftBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 4)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 0)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 1)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 3)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 2)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackDiagUp25ToRightBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 9)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 5)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 7)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 8)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 6)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackDiagLeftBankedUp25ToUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 14)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 10)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 11)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 13)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 12)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagRightBankedUp25ToUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 19)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 15)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 17)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 18)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 16)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 9, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagDown25ToLeftBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagDown25ToRightBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedUp25ToUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedDown25ToDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25ToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedDown25ToDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25ToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedFlatToLeftBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 23)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 20)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 22)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 21)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagRightBankedFlatToRightBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 27)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 24)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 26)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 25)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagLeftBankedUp25ToLeftBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 31)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 28)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 30)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 29)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagRightBankedUp25ToRightBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 35)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 32)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 34)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 33)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagLeftBankedFlatToLeftBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedUp25ToRightBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedFlatToRightBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedUp25ToLeftBankedFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedDown25ToLeftBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedDown25ToRightBankedFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagUp25LeftBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 39)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 36)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 38)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 37)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagUp25RightBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 43)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 40)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 42)), + { -16, -16, height }, { { -16, -16, height + 48 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 41)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 11, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagDown25LeftBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25RightBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagDown25RightBanked( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagUp25LeftBanked(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagFlatToLeftBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 48)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 44)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 45)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 47)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 46)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagFlatToRightBankedUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 53)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 49)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 51)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 52)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 50)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 4, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 48, 0x20); + break; + } + } + + static void TrackDiagLeftBankedUp25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 58)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 54)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 55)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 57)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 56)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagRightBankedUp25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 63)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 59)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 2: + switch (direction) + { + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 61)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 62)), + { -16, -16, height }, { { -16, -16, height + 27 }, { 32, 32, 0 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + case 3: + switch (direction) + { + case 0: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 60)), + { -16, -16, height }, { { -16, -16, height }, { 32, 32, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 6, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 56, 0x20); + break; + } + } + + static void TrackDiagFlatToLeftBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagRightBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagFlatToRightBankedDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagLeftBankedUp25ToFlat(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagLeftBankedDown25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagFlatToRightBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackDiagRightBankedDown25ToFlat( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + TrackDiagFlatToLeftBankedUp25(session, ride, 3 - trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackLeftEighthBankToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 64)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 68)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 72)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 76)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 65)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 69)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 73)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 77)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 66)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 70)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 74)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 78)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 67)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 71)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 75)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 79)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthBankToDiagUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 80)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 84)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 88)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 92)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, TUNNEL_1); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 81)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 85)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 89)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 93)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 82)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 86)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 90)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 40, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 94)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 83)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 87)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 91)), + { 0, 0, height }, { { 0, 0, height + 48 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 95)), + { 0, 0, height }, { { 16, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthBankToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 96)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 100)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 104)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 108)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 97)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 101)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 105)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 109)), + { 0, 0, height }, { { 16, 0, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_BC | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 98)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 102)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 106)), + { 0, 0, height }, { { 0, 0, height }, { 32, 16, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 110)), + { 0, 0, height }, { { 0, 16, height }, { 32, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B4 | SEGMENT_B8 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 99)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 103)), + { 0, 0, height }, { { 0, 31, height }, { 32, 1, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 107)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 111)), + { 0, 0, height }, { { 0, 6, height }, { 32, 20, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 1 || direction == 2) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_CC | SEGMENT_D0, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackRightEighthBankToOrthogonalUp25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + switch (trackSequence) + { + case 0: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 112)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 2, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 116)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 3, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 120)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 1, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 124)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + MetalASupportsPaintSetup( + session, METAL_SUPPORTS_TUBES, 0, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 1: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 113)), + { 0, 0, height }, { { 0, 0, height }, { 16, 16, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 117)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 121)), + { 0, 0, height }, { { 0, 0, height + 32 }, { 32, 32, 1 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 125)), + { 0, 0, height }, { { 0, 16, height }, { 16, 16, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_B4 | SEGMENT_BC | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_CC, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 2: + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C0 | SEGMENT_C4 | SEGMENT_D0 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 3: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 114)), + { 0, 0, height }, { { 0, 0, height }, { 16, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 118)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 122)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 126)), + { 0, 0, height }, { { 16, 0, height }, { 16, 32, 3 } }); + break; + } + PaintUtilSetSegmentSupportHeight( + session, + PaintUtilRotateSegments( + SEGMENT_B8 | SEGMENT_C0 | SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D0 | SEGMENT_D4, direction), + 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + case 4: + switch (direction) + { + case 0: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 115)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + case 1: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 119)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 2: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 123)), + { 0, 0, height }, { { 31, 0, height }, { 1, 32, 32 } }); + break; + case 3: + PaintAddImageAsParentRotated( + session, direction, + session.TrackColours[SCHEME_TRACK].WithIndex( + (SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 127)), + { 0, 0, height }, { { 6, 0, height }, { 20, 32, 3 } }); + break; + } + MetalASupportsPaintSetup(session, METAL_SUPPORTS_TUBES, 4, 8, height, session.TrackColours[SCHEME_SUPPORTS]); + if (direction == 0 || direction == 1) + { + PaintUtilPushTunnelRotated(session, direction + 1, height + 8, TUNNEL_2); + } + PaintUtilSetSegmentSupportHeight( + session, PaintUtilRotateSegments(SEGMENT_C4 | SEGMENT_C8 | SEGMENT_D4, direction), 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72, 0x20); + break; + } + } + + static void TrackLeftEighthBankToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackRightEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 1) & 3, height, trackElement); + } + + static void TrackRightEighthBankToDiagDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + uint8_t map[5] = { 4, 3, 1, 2, 0 }; + trackSequence = map[trackSequence]; + TrackLeftEighthBankToOrthogonalUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackLeftEighthBankToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackRightEighthBankToDiagUp25(session, ride, trackSequence, (direction + 2) & 3, height, trackElement); + } + + static void TrackRightEighthBankToOrthogonalDown25( + PaintSession& session, const Ride& ride, uint8_t trackSequence, uint8_t direction, int32_t height, + const TrackElement& trackElement) + { + trackSequence = mapLeftEighthTurnToOrthogonal[trackSequence]; + TrackLeftEighthBankToDiagUp25(session, ride, trackSequence, (direction + 3) & 3, height, trackElement); + } + TRACK_PAINT_FUNCTION GetTrackPaintFunction(int32_t trackType) { switch (trackType) @@ -15098,6 +17828,97 @@ namespace SingleRailRC return TrackDiagFlatTo60DegDown; case TrackElemType::DiagDown60ToFlat: return TrackDiag60DegDownToFlat; + + case TrackElemType::LeftEighthToDiagUp25: + return TrackLeftEighthToDiagUp25; + case TrackElemType::RightEighthToDiagUp25: + return TrackRightEighthToDiagUp25; + case TrackElemType::LeftEighthToDiagDown25: + return TrackLeftEighthToDiagDown25; + case TrackElemType::RightEighthToDiagDown25: + return TrackRightEighthToDiagDown25; + case TrackElemType::LeftEighthToOrthogonalUp25: + return TrackLeftEighthToOrthogonalUp25; + case TrackElemType::RightEighthToOrthogonalUp25: + return TrackRightEighthToOrthogonalUp25; + case TrackElemType::LeftEighthToOrthogonalDown25: + return TrackLeftEighthToOrthogonalDown25; + case TrackElemType::RightEighthToOrthogonalDown25: + return TrackRightEighthToOrthogonalDown25; + + case TrackElemType::DiagUp25ToLeftBankedUp25: + return TrackDiagUp25ToLeftBankedUp25; + case TrackElemType::DiagUp25ToRightBankedUp25: + return TrackDiagUp25ToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToUp25: + return TrackDiagLeftBankedUp25ToUp25; + case TrackElemType::DiagRightBankedUp25ToUp25: + return TrackDiagRightBankedUp25ToUp25; + case TrackElemType::DiagDown25ToLeftBankedDown25: + return TrackDiagDown25ToLeftBankedDown25; + case TrackElemType::DiagDown25ToRightBankedDown25: + return TrackDiagDown25ToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToDown25: + return TrackDiagLeftBankedDown25ToDown25; + case TrackElemType::DiagRightBankedDown25ToDown25: + return TrackDiagRightBankedDown25ToDown25; + + case TrackElemType::DiagLeftBankedFlatToLeftBankedUp25: + return TrackDiagLeftBankedFlatToLeftBankedUp25; + case TrackElemType::DiagRightBankedFlatToRightBankedUp25: + return TrackDiagRightBankedFlatToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToLeftBankedFlat: + return TrackDiagLeftBankedUp25ToLeftBankedFlat; + case TrackElemType::DiagRightBankedUp25ToRightBankedFlat: + return TrackDiagRightBankedUp25ToRightBankedFlat; + case TrackElemType::DiagLeftBankedFlatToLeftBankedDown25: + return TrackDiagLeftBankedFlatToLeftBankedDown25; + case TrackElemType::DiagRightBankedFlatToRightBankedDown25: + return TrackDiagRightBankedFlatToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToLeftBankedFlat: + return TrackDiagLeftBankedDown25ToLeftBankedFlat; + case TrackElemType::DiagRightBankedDown25ToRightBankedFlat: + return TrackDiagRightBankedDown25ToRightBankedFlat; + case TrackElemType::DiagUp25LeftBanked: + return TrackDiagUp25LeftBanked; + case TrackElemType::DiagUp25RightBanked: + return TrackDiagUp25RightBanked; + case TrackElemType::DiagDown25LeftBanked: + return TrackDiagDown25LeftBanked; + case TrackElemType::DiagDown25RightBanked: + return TrackDiagDown25RightBanked; + case TrackElemType::DiagFlatToLeftBankedUp25: + return TrackDiagFlatToLeftBankedUp25; + case TrackElemType::DiagFlatToRightBankedUp25: + return TrackDiagFlatToRightBankedUp25; + case TrackElemType::DiagLeftBankedUp25ToFlat: + return TrackDiagLeftBankedUp25ToFlat; + case TrackElemType::DiagRightBankedUp25ToFlat: + return TrackDiagRightBankedUp25ToFlat; + case TrackElemType::DiagFlatToLeftBankedDown25: + return TrackDiagFlatToLeftBankedDown25; + case TrackElemType::DiagFlatToRightBankedDown25: + return TrackDiagFlatToRightBankedDown25; + case TrackElemType::DiagLeftBankedDown25ToFlat: + return TrackDiagLeftBankedDown25ToFlat; + case TrackElemType::DiagRightBankedDown25ToFlat: + return TrackDiagRightBankedDown25ToFlat; + case TrackElemType::LeftEighthBankToDiagUp25: + return TrackLeftEighthBankToDiagUp25; + case TrackElemType::RightEighthBankToDiagUp25: + return TrackRightEighthBankToDiagUp25; + case TrackElemType::LeftEighthBankToDiagDown25: + return TrackLeftEighthBankToDiagDown25; + case TrackElemType::RightEighthBankToDiagDown25: + return TrackRightEighthBankToDiagDown25; + case TrackElemType::LeftEighthBankToOrthogonalUp25: + return TrackLeftEighthBankToOrthogonalUp25; + case TrackElemType::RightEighthBankToOrthogonalUp25: + return TrackRightEighthBankToOrthogonalUp25; + case TrackElemType::LeftEighthBankToOrthogonalDown25: + return TrackLeftEighthBankToOrthogonalDown25; + case TrackElemType::RightEighthBankToOrthogonalDown25: + return TrackRightEighthBankToOrthogonalDown25; } return nullptr; } diff --git a/src/openrct2/ride/coaster/meta/HybridCoaster.h b/src/openrct2/ride/coaster/meta/HybridCoaster.h index 6b97f8782c..360053ffe9 100644 --- a/src/openrct2/ride/coaster/meta/HybridCoaster.h +++ b/src/openrct2/ride/coaster/meta/HybridCoaster.h @@ -17,7 +17,7 @@ constexpr const RideTypeDescriptor HybridCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), + SET_FIELD(EnabledTrackPieces, {TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_POWERED_LIFT, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_SLOPE_STEEP_LONG, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE}), SET_FIELD(ExtraTrackPieces, {TRACK_BOOSTER}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), diff --git a/src/openrct2/ride/coaster/meta/SingleRailRollerCoaster.h b/src/openrct2/ride/coaster/meta/SingleRailRollerCoaster.h index c63f17ceae..f5ab82818c 100644 --- a/src/openrct2/ride/coaster/meta/SingleRailRollerCoaster.h +++ b/src/openrct2/ride/coaster/meta/SingleRailRollerCoaster.h @@ -17,7 +17,7 @@ constexpr const RideTypeDescriptor SingleRailRollerCoasterRTD = { SET_FIELD(AlternateType, RIDE_TYPE_NULL), SET_FIELD(Category, RIDE_CATEGORY_ROLLERCOASTER), - SET_FIELD(EnabledTrackPieces, { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CORKSCREW, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE}), + SET_FIELD(EnabledTrackPieces, { TRACK_FLAT, TRACK_STRAIGHT, TRACK_STATION_END, TRACK_LIFT_HILL, TRACK_LIFT_HILL_STEEP, TRACK_FLAT_ROLL_BANKING, TRACK_SLOPE, TRACK_SLOPE_LONG, TRACK_SLOPE_STEEP_UP, TRACK_SLOPE_STEEP_DOWN, TRACK_SLOPE_CURVE, TRACK_SLOPE_CURVE_STEEP, TRACK_S_BEND, TRACK_CURVE_SMALL, TRACK_CURVE, TRACK_CORKSCREW, TRACK_HELIX_SMALL, TRACK_BRAKES, TRACK_ON_RIDE_PHOTO, TRACK_SLOPE_VERTICAL, TRACK_BARREL_ROLL, TRACK_SLOPE_CURVE_BANKED, TRACK_BLOCK_BRAKES, TRACK_SLOPE_ROLL_BANKING, TRACK_CURVE_VERTICAL, TRACK_QUARTER_LOOP, TRACK_HALF_LOOP, TRACK_HALF_LOOP_MEDIUM, TRACK_CORKSCREW_LARGE, TRACK_ZERO_G_ROLL, TRACK_ZERO_G_ROLL_LARGE, TRACK_SLOPE_CURVE_LARGE}), SET_FIELD(ExtraTrackPieces, {TRACK_SLOPE_STEEP_LONG, TRACK_HALF_LOOP_LARGE}), SET_FIELD(CoveredTrackPieces, {}), SET_FIELD(StartTrackPiece, TrackElemType::EndStation), diff --git a/src/openrct2/scripting/ScriptEngine.h b/src/openrct2/scripting/ScriptEngine.h index 89717959ff..f309d823e9 100644 --- a/src/openrct2/scripting/ScriptEngine.h +++ b/src/openrct2/scripting/ScriptEngine.h @@ -47,7 +47,7 @@ namespace OpenRCT2 namespace OpenRCT2::Scripting { - static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 70; + static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 71; // Versions marking breaking changes. static constexpr int32_t API_VERSION_33_PEEP_DEPRECATION = 33; diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 8ca7857616..3e9f14ecff 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -1271,7 +1271,9 @@ enum SPR_G2_HYBRID_TRACK_POWERED_LIFT = SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 18, SPR_G2_HYBRID_TRACK_ZERO_G_ROLL = SPR_G2_HYBRID_TRACK_POWERED_LIFT + 4, SPR_G2_HYBRID_TRACK_LARGE_ZERO_G_ROLL = SPR_G2_HYBRID_TRACK_ZERO_G_ROLL + 40, - SPR_G2_HYBRID_LIFT_BEGIN = SPR_G2_HYBRID_TRACK_LARGE_ZERO_G_ROLL + 58, + SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE = SPR_G2_HYBRID_TRACK_LARGE_ZERO_G_ROLL + 58, + SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED = SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE + 64, + SPR_G2_HYBRID_LIFT_BEGIN = SPR_G2_HYBRID_TRACK_GENTLE_LARGE_CURVE_BANKED + 142, SPR_G2_HYBRID_LIFT_TRACK_FLAT = SPR_G2_HYBRID_LIFT_BEGIN, SPR_G2_HYBRID_LIFT_TRACK_GENTLE = SPR_G2_HYBRID_LIFT_TRACK_FLAT + 4, SPR_G2_HYBRID_LIFT_TRACK_STEEP = SPR_G2_HYBRID_LIFT_TRACK_GENTLE + 12, @@ -1315,14 +1317,16 @@ enum SPR_G2_SINGLE_RAIL_TRACK_FLAT_TO_STEEP = SPR_G2_SINGLE_RAIL_TRACK_HALF_LOOP + 16, SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP = SPR_G2_SINGLE_RAIL_TRACK_FLAT_TO_STEEP + 32, SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW = SPR_G2_SINGLE_RAIL_TRACK_QUARTER_LOOP + 12, - SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION = SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 24, - SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP = SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 18, - SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP = SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 56, - SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW = SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 20, - SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP = SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 40, - SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL = SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 40, + SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW = SPR_G2_SINGLE_RAIL_TRACK_CORKSCREW + 24, + SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION = SPR_G2_SINGLE_RAIL_TRACK_LARGE_CORKSCREW + 40, + SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP = SPR_G2_SINGLE_RAIL_TRACK_TURN_BANK_TRANSITION + 18, + SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP = SPR_G2_SINGLE_RAIL_TRACK_MEDIUM_HALF_LOOP + 40, + SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL = SPR_G2_SINGLE_RAIL_TRACK_LARGE_HALF_LOOP + 56, SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL = SPR_G2_SINGLE_RAIL_TRACK_ZERO_G_ROLL + 32, - SPR_G2_SINGLE_RAIL_LIFT_BEGIN = SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 40, + SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP = SPR_G2_SINGLE_RAIL_TRACK_LARGE_ZERO_G_ROLL + 40, + SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE = SPR_G2_SINGLE_RAIL_TRACK_SMALL_FLAT_TO_STEEP + 20, + SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED = SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE + 64, + SPR_G2_SINGLE_RAIL_LIFT_BEGIN = SPR_G2_SINGLE_RAIL_TRACK_GENTLE_LARGE_CURVE_BANKED + 128, SPR_G2_SINGLE_RAIL_LIFT_TRACK_FLAT = SPR_G2_SINGLE_RAIL_LIFT_BEGIN, SPR_G2_SINGLE_RAIL_LIFT_TRACK_GENTLE = SPR_G2_SINGLE_RAIL_LIFT_TRACK_FLAT + 4, SPR_G2_SINGLE_RAIL_LIFT_TRACK_STEEP = SPR_G2_SINGLE_RAIL_LIFT_TRACK_GENTLE + 12,