diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index a8a8723698..2f2b703efe 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -25708,6 +25708,1434 @@ "y": -50, "palette": "keep" }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_1.png", + "x": -32, + "y": -18 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_2.png", + "x": -23, + "y": -17 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_3.png", + "x": 19, + "y": 9 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_4.png", + "x": 12, + "y": 4 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_5.png", + "x": -30, + "y": 5 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_6.png", + "x": -14, + "y": 0 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_7.png", + "x": -27, + "y": -18 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_1_8.png", + "x": -32, + "y": -4 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_2_1.png", + "x": -25, + "y": -11 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_2_2.png", + "x": -32, + "y": 7 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_2_3.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_2_4.png", + "x": -16, + "y": 7 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_2_5.png", + "x": -32, + "y": -18 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_2_6.png", + "x": -28, + "y": -5 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_3_1.png", + "x": -19, + "y": -2 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_3_2.png", + "x": -25, + "y": 5 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_3_3.png", + "x": 13, + "y": 14 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_3_4.png", + "x": 5, + "y": 11 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_3_5.png", + "x": -17, + "y": -5 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_3_6.png", + "x": -24, + "y": 2 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_4_1.png", + "x": -29, + "y": -13 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_4_2.png", + "x": -32, + "y": 4 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_4_3.png", + "x": -26, + "y": 13 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_4_4.png", + "x": -4, + "y": 34 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_4_5.png", + "x": -33, + "y": -4 + }, + { + "path": "track/go_karts/small_turn_left_gentle_up_4_6.png", + "x": -7, + "y": 11 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_1_1.png", + "x": -32, + "y": -13 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_1_2.png", + "x": -6, + "y": 4 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_1_3.png", + "x": -9, + "y": 13 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_1_4.png", + "x": -2, + "y": 34 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_1_5.png", + "x": -26, + "y": -4 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_1_6.png", + "x": -32, + "y": 11 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_2_1.png", + "x": -23, + "y": -2 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_2_2.png", + "x": 19, + "y": 5 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_2_3.png", + "x": -18, + "y": 14 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_2_4.png", + "x": -14, + "y": 11 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_2_5.png", + "x": -32, + "y": -5 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_2_6.png", + "x": -7, + "y": 2 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_3_1.png", + "x": -32, + "y": -11 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_3_2.png", + "x": -30, + "y": 8 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_3_3.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_3_4.png", + "x": -20, + "y": 7 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_3_5.png", + "x": -27, + "y": -18 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_3_6.png", + "x": -33, + "y": -5 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_1.png", + "x": -18, + "y": -18 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_2.png", + "x": -25, + "y": -17 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_3.png", + "x": -32, + "y": 8 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_4.png", + "x": -21, + "y": 4 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_5.png", + "x": 13, + "y": 5 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_6.png", + "x": 5, + "y": 0 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_7.png", + "x": -19, + "y": -18 + }, + { + "path": "track/go_karts/small_turn_right_gentle_up_4_8.png", + "x": -24, + "y": -5 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_1.png", + "x": -32, + "y": -27 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_2.png", + "x": -17, + "y": -28 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_3.png", + "x": -32, + "y": -8 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_4.png", + "x": -11, + "y": -8 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_5.png", + "x": -5, + "y": 1 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_6.png", + "x": -8, + "y": 0 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_7.png", + "x": -31, + "y": -5 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_8.png", + "x": -32, + "y": -7 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_9.png", + "x": -27, + "y": -18 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_1_10.png", + "x": -32, + "y": -4 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_1.png", + "x": -23, + "y": -6 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_2.png", + "x": -32, + "y": 10 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_3.png", + "x": -18, + "y": -21 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_4.png", + "x": -32, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_5.png", + "x": 0, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_6.png", + "x": -16, + "y": 13 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_7.png", + "x": -20, + "y": -26 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_8.png", + "x": -8, + "y": -10 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_9.png", + "x": -26, + "y": -18 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_2_10.png", + "x": -9, + "y": -5 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_1.png", + "x": -27, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_2.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_3.png", + "x": 0, + "y": 3 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_4.png", + "x": -8, + "y": 6 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_5.png", + "x": -13, + "y": 7 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_6.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_7.png", + "x": 1, + "y": 1 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_8.png", + "x": -7, + "y": 1 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_9.png", + "x": -21, + "y": -1 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_3_10.png", + "x": -28, + "y": 7 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_1.png", + "x": -29, + "y": -13 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_2.png", + "x": -32, + "y": -1 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_3.png", + "x": -26, + "y": -4 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_4.png", + "x": -16, + "y": 20 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_5.png", + "x": -16, + "y": -14 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_6.png", + "x": -20, + "y": -1 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_7.png", + "x": -30, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_8.png", + "x": -4, + "y": 17 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_9.png", + "x": -33, + "y": -3 + }, + { + "path": "track/go_karts/medium_turn_left_gentle_up_4_10.png", + "x": -7, + "y": 11 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_1.png", + "x": -32, + "y": -13 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_2.png", + "x": -6, + "y": -1 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_3.png", + "x": -25, + "y": -4 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_4.png", + "x": -2, + "y": 20 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_5.png", + "x": -16, + "y": -14 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_6.png", + "x": -16, + "y": -1 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_7.png", + "x": -29, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_8.png", + "x": -15, + "y": 17 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_9.png", + "x": -24, + "y": -3 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_1_10.png", + "x": -32, + "y": 11 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_1.png", + "x": -32, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_2.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_3.png", + "x": -31, + "y": 3 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_4.png", + "x": 0, + "y": 6 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_5.png", + "x": -17, + "y": 7 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_6.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_7.png", + "x": -19, + "y": 1 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_8.png", + "x": -10, + "y": 1 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_9.png", + "x": -33, + "y": -1 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_2_10.png", + "x": -8, + "y": 7 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_1.png", + "x": -32, + "y": -6 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_2.png", + "x": -10, + "y": 10 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_3.png", + "x": -32, + "y": -21 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_4.png", + "x": -32, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_5.png", + "x": -24, + "y": -2 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_6.png", + "x": -27, + "y": 14 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_7.png", + "x": -22, + "y": -26 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_8.png", + "x": -27, + "y": -10 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_9.png", + "x": -27, + "y": -18 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_3_10.png", + "x": -33, + "y": -5 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_1.png", + "x": -21, + "y": -27 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_2.png", + "x": -27, + "y": -28 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_3.png", + "x": 1, + "y": -8 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_4.png", + "x": -7, + "y": -8 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_5.png", + "x": -31, + "y": 1 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_6.png", + "x": -32, + "y": 0 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_7.png", + "x": 0, + "y": -5 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_8.png", + "x": -8, + "y": -7 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_9.png", + "x": -29, + "y": -18 + }, + { + "path": "track/go_karts/medium_turn_right_gentle_up_4_10.png", + "x": -31, + "y": -5 + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_1.png", + "x": -32, + "y": -32, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_2.png", + "x": -11, + "y": -36, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_3.png", + "x": -32, + "y": -16, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_4.png", + "x": -32, + "y": -16, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_5.png", + "x": 4, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_6.png", + "x": 1, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_7.png", + "x": -22, + "y": -1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_1_8.png", + "x": -26, + "y": -2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_1.png", + "x": -23, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_2.png", + "x": -32, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_3.png", + "x": -14, + "y": -16, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_4.png", + "x": -24, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_5.png", + "x": -4, + "y": 11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_6.png", + "x": -4, + "y": 27, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_7.png", + "x": -20, + "y": -13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_2_8.png", + "x": -20, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_1.png", + "x": -28, + "y": -2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_2.png", + "x": 8, + "y": 10, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_3.png", + "x": -15, + "y": 1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_4.png", + "x": -18, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_5.png", + "x": -12, + "y": 9, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_6.png", + "x": -12, + "y": 10, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_7.png", + "x": -23, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_3_8.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_1.png", + "x": -28, + "y": -20, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_2.png", + "x": -32, + "y": -3, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_3.png", + "x": -27, + "y": -11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_4.png", + "x": -30, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_5.png", + "x": -8, + "y": -17, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_6.png", + "x": -10, + "y": 1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_7.png", + "x": 0, + "y": -13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_diag_gentle_up_4_8.png", + "x": 0, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_1.png", + "x": -32, + "y": -20, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_2.png", + "x": -6, + "y": -3, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_3.png", + "x": -20, + "y": -11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_4.png", + "x": -3, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_5.png", + "x": -13, + "y": -17, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_6.png", + "x": -4, + "y": 1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_7.png", + "x": -32, + "y": -13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_1_8.png", + "x": -24, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_1.png", + "x": -23, + "y": -2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_2.png", + "x": -32, + "y": 10, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_3.png", + "x": -20, + "y": 1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_4.png", + "x": -20, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_5.png", + "x": -8, + "y": 9, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_6.png", + "x": -8, + "y": 10, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_7.png", + "x": -10, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_2_8.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_1.png", + "x": -32, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_2.png", + "x": -16, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_3.png", + "x": -28, + "y": -16, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_4.png", + "x": -28, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_5.png", + "x": -12, + "y": 11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_6.png", + "x": -12, + "y": 27, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_7.png", + "x": 0, + "y": -13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_3_8.png", + "x": 0, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_1.png", + "x": -22, + "y": -32, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_2.png", + "x": -28, + "y": -36, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_3.png", + "x": -9, + "y": -16, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_4.png", + "x": -17, + "y": -16, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_5.png", + "x": -29, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_6.png", + "x": -10, + "y": 8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_7.png", + "x": -15, + "y": -1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_diag_gentle_up_4_8.png", + "x": -23, + "y": -2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_1.png", + "x": 0, + "y": 2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_2.png", + "x": 0, + "y": 13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_3.png", + "x": -30, + "y": 2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_4.png", + "x": -8, + "y": 13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_5.png", + "x": -31, + "y": -28, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_6.png", + "x": -8, + "y": -11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_7.png", + "x": -22, + "y": -18, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_8.png", + "x": -4, + "y": -5, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_1.png", + "x": -15, + "y": 14, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_2.png", + "x": -23, + "y": 14, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_3.png", + "x": -11, + "y": -1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_4.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_5.png", + "x": -2, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_6.png", + "x": -18, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_7.png", + "x": -17, + "y": -2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_8.png", + "x": -25, + "y": 9, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_1.png", + "x": -32, + "y": -6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_2.png", + "x": -32, + "y": 10, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_3.png", + "x": -14, + "y": -25, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_4.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_5.png", + "x": -32, + "y": -1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_6.png", + "x": -8, + "y": 15, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_7.png", + "x": -33, + "y": -3, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_8.png", + "x": -8, + "y": 11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_1.png", + "x": -25, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_2.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_3.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_4.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_5.png", + "x": -29, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_6.png", + "x": -31, + "y": -9, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_7.png", + "x": -27, + "y": -18, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_8.png", + "x": -33, + "y": -5, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_1.png", + "x": 0, + "y": -6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_2.png", + "x": 0, + "y": 10, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_3.png", + "x": 0, + "y": -25, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_4.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_5.png", + "x": -32, + "y": -1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_6.png", + "x": -32, + "y": 15, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_7.png", + "x": -22, + "y": -3, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_8.png", + "x": -24, + "y": 11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_1.png", + "x": -33, + "y": 14, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_2.png", + "x": 6, + "y": 14, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_3.png", + "x": -13, + "y": -1, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_4.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_5.png", + "x": -19, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_6.png", + "x": -13, + "y": 6, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_7.png", + "x": -33, + "y": -2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_8.png", + "x": -8, + "y": 9, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_1.png", + "x": -22, + "y": 2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_2.png", + "x": -29, + "y": 13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_3.png", + "x": -22, + "y": 2, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_4.png", + "x": -29, + "y": 13, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_5.png", + "x": -27, + "y": -28, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_6.png", + "x": -32, + "y": -11, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_7.png", + "x": -27, + "y": -18, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_8.png", + "x": -33, + "y": -5, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_1.png", + "x": -23, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_2.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_3.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_4.png", + "x": 0, + "y": 0, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_5.png", + "x": -14, + "y": -8, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_6.png", + "x": -20, + "y": -9, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_7.png", + "x": -32, + "y": -18, + "palette": "keep" + }, + { + "path": "track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_8.png", + "x": -32, + "y": -5, + "palette": "keep" + }, { "path": "track/go_karts/s_bend_left_1_1.png", "x": -32, diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_1.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..28eb466084 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_2.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..39d6c879f7 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_3.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..9112c04d98 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_4.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..f3b1f12fe6 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_5.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_5.png new file mode 100644 index 0000000000..8175888668 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_6.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_6.png new file mode 100644 index 0000000000..dfab6a6f6a Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_7.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_7.png new file mode 100644 index 0000000000..28984b07f0 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_8.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_8.png new file mode 100644 index 0000000000..64d8f1a757 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_1.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..64da21c048 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_2.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..98c7fd9f75 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_3.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..f730f4c171 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_4.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..866ab5808f Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_5.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_5.png new file mode 100644 index 0000000000..971797d03a Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_6.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_6.png new file mode 100644 index 0000000000..a5f8eb6e57 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_7.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_7.png new file mode 100644 index 0000000000..5c078dc04c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_8.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_8.png new file mode 100644 index 0000000000..58c4948159 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_2_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_1.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..476b7b5f5c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_2.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..ef486d8ba3 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_3.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..52a3edb49d Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_4.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..101100ec8e Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_5.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_5.png new file mode 100644 index 0000000000..972d762d84 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_6.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_6.png new file mode 100644 index 0000000000..7d7155699e Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_7.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_7.png new file mode 100644 index 0000000000..0697fc682e Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_8.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_8.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_3_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_1.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..f6aa50c1cf Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_2.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..6f9a9d88a5 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_3.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..3f7edf2b3d Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_4.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..686637154d Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_5.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_5.png new file mode 100644 index 0000000000..1f91ae6458 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_6.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_6.png new file mode 100644 index 0000000000..1522abf07e Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_7.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_7.png new file mode 100644 index 0000000000..cf26bb5eb2 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_8.png b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_8.png new file mode 100644 index 0000000000..39bb811797 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_diag_gentle_up_4_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..677a6adf85 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..8339fb4c9c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..a110c37259 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..8e0fcb6970 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_5.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_5.png new file mode 100644 index 0000000000..d6a809e28c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_6.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_6.png new file mode 100644 index 0000000000..6bfa8d3b36 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_7.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_7.png new file mode 100644 index 0000000000..23e7ad055b Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_8.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_8.png new file mode 100644 index 0000000000..9e681a1ef7 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..63ac069416 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..c8271c767a Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..99c40a912a Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_5.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_5.png new file mode 100644 index 0000000000..6f9bc67611 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_6.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_6.png new file mode 100644 index 0000000000..07d9da96c1 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_7.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_7.png new file mode 100644 index 0000000000..a5b8160fc1 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_8.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_8.png new file mode 100644 index 0000000000..d3f37d33ca Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_2_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..8e5fe5ff84 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..309fd5cbb0 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..d1849e3646 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_5.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_5.png new file mode 100644 index 0000000000..e0f8ef6472 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_6.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_6.png new file mode 100644 index 0000000000..eae732aea0 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_7.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_7.png new file mode 100644 index 0000000000..88216dd834 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_8.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_8.png new file mode 100644 index 0000000000..076d992149 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_3_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..268c39ef5b Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/go_karts/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/go_karts/large_turn_left_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_5.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_5.png new file mode 100644 index 0000000000..e5ec9d7d31 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_6.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_6.png new file mode 100644 index 0000000000..c7595d61c2 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_7.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_7.png new file mode 100644 index 0000000000..95a4c36429 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_8.png b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_8.png new file mode 100644 index 0000000000..74221c88da Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_left_to_orthogonal_gentle_up_4_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_1.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_1.png new file mode 100644 index 0000000000..b1f50e8a31 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_2.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_2.png new file mode 100644 index 0000000000..59ede428e5 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_3.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_3.png new file mode 100644 index 0000000000..ad24766577 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_4.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_4.png new file mode 100644 index 0000000000..cedc893229 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_5.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_5.png new file mode 100644 index 0000000000..0bfc13fc10 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_6.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_6.png new file mode 100644 index 0000000000..4188f94bb8 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_7.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_7.png new file mode 100644 index 0000000000..6594b69dcd Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_8.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_8.png new file mode 100644 index 0000000000..d05e35bb14 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_1.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_1.png new file mode 100644 index 0000000000..9c0ecb203c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_2.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_2.png new file mode 100644 index 0000000000..08a0f3b2d1 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_3.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_3.png new file mode 100644 index 0000000000..9e195da1f0 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_4.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_4.png new file mode 100644 index 0000000000..42ab0a24eb Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_5.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_5.png new file mode 100644 index 0000000000..d7876b89db Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_6.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_6.png new file mode 100644 index 0000000000..2c3b55a9f8 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_7.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_7.png new file mode 100644 index 0000000000..943f43eaa9 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_8.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_8.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_2_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_1.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_1.png new file mode 100644 index 0000000000..3e207c55a6 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_2.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_2.png new file mode 100644 index 0000000000..dbffcb90de Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_3.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_3.png new file mode 100644 index 0000000000..41116f6490 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_4.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_4.png new file mode 100644 index 0000000000..daa2eeb84b Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_5.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_5.png new file mode 100644 index 0000000000..47e8a9c780 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_6.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_6.png new file mode 100644 index 0000000000..4884be470c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_7.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_7.png new file mode 100644 index 0000000000..17c588482b Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_8.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_8.png new file mode 100644 index 0000000000..3faf3cc8ae Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_3_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_1.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_1.png new file mode 100644 index 0000000000..c7cc81b6c5 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_2.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_2.png new file mode 100644 index 0000000000..50f3fa2a67 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_3.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_3.png new file mode 100644 index 0000000000..70d6032a59 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_4.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_4.png new file mode 100644 index 0000000000..d885ae388c Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_5.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_5.png new file mode 100644 index 0000000000..a9e51d8666 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_6.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_6.png new file mode 100644 index 0000000000..a98e23e8f2 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_7.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_7.png new file mode 100644 index 0000000000..c6a06cccd9 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_8.png b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_8.png new file mode 100644 index 0000000000..164dce05a1 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_diag_gentle_up_4_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_1.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_1.png new file mode 100644 index 0000000000..f878a7bb40 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_2.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_2.png new file mode 100644 index 0000000000..6b6a7f734d Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_3.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_3.png new file mode 100644 index 0000000000..7ad83eeebb Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_4.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_5.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_5.png new file mode 100644 index 0000000000..ddca32f866 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_6.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_6.png new file mode 100644 index 0000000000..b3fc8e0059 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_7.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_7.png new file mode 100644 index 0000000000..2c380525c9 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_8.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_8.png new file mode 100644 index 0000000000..b2b60a4b75 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_1.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_1.png new file mode 100644 index 0000000000..357c07b108 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_2.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_2.png new file mode 100644 index 0000000000..67d8c2eb31 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_3.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_3.png new file mode 100644 index 0000000000..6ed9c74db6 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_4.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_5.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_5.png new file mode 100644 index 0000000000..b58e2652e3 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_6.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_6.png new file mode 100644 index 0000000000..90cbfcb6da Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_7.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_7.png new file mode 100644 index 0000000000..389ffb462e Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_8.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_8.png new file mode 100644 index 0000000000..7a5f71691f Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_2_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_1.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_1.png new file mode 100644 index 0000000000..a7c1aa2a62 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_2.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_2.png new file mode 100644 index 0000000000..9595f96c5d Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_3.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_3.png new file mode 100644 index 0000000000..a8972d9392 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_4.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_4.png new file mode 100644 index 0000000000..f95f2d158f Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_5.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_5.png new file mode 100644 index 0000000000..79cfab772a Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_6.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_6.png new file mode 100644 index 0000000000..8853907dab Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_7.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_7.png new file mode 100644 index 0000000000..c9159201f5 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_8.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_8.png new file mode 100644 index 0000000000..35190ea97d Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_3_8.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_1.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_1.png new file mode 100644 index 0000000000..f09c4a64b6 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_2.png b/resources/g2/track/go_karts/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/go_karts/large_turn_right_to_orthogonal_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_3.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_3.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_4.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_4.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_5.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_5.png new file mode 100644 index 0000000000..cc33a7aad8 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_6.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_6.png new file mode 100644 index 0000000000..debaa6dfce Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_7.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_7.png new file mode 100644 index 0000000000..f2469fc7b8 Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_8.png b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_8.png new file mode 100644 index 0000000000..564d1cc4fb Binary files /dev/null and b/resources/g2/track/go_karts/large_turn_right_to_orthogonal_gentle_up_4_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_1.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_1.png new file mode 100644 index 0000000000..73521bf902 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_10.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_10.png new file mode 100644 index 0000000000..e7746b8320 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_2.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_2.png new file mode 100644 index 0000000000..75bbce78f1 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_3.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_3.png new file mode 100644 index 0000000000..c300345bf1 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_4.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_4.png new file mode 100644 index 0000000000..7a7693566c Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_5.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_5.png new file mode 100644 index 0000000000..07aed71232 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_6.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_6.png new file mode 100644 index 0000000000..c5a3788782 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_7.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_7.png new file mode 100644 index 0000000000..08208ae99b Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_8.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_8.png new file mode 100644 index 0000000000..13d4286963 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_9.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_9.png new file mode 100644 index 0000000000..f691da4845 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_1_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_1.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_1.png new file mode 100644 index 0000000000..9bc32a8bf4 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_10.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_10.png new file mode 100644 index 0000000000..39550c7c32 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_2.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_2.png new file mode 100644 index 0000000000..7ca481e439 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_3.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_3.png new file mode 100644 index 0000000000..a0e3272b8a Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_4.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_4.png new file mode 100644 index 0000000000..d456239be2 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_5.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_5.png new file mode 100644 index 0000000000..4fdacf05dc Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_6.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_6.png new file mode 100644 index 0000000000..2efcfa06d7 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_7.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_7.png new file mode 100644 index 0000000000..65b11ee458 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_8.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_8.png new file mode 100644 index 0000000000..3886dd70f9 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_9.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_9.png new file mode 100644 index 0000000000..402047e165 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_2_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_1.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_1.png new file mode 100644 index 0000000000..9c409ae463 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_10.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_10.png new file mode 100644 index 0000000000..43b25c32a0 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_2.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_3.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_3.png new file mode 100644 index 0000000000..b84ae57261 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_4.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_4.png new file mode 100644 index 0000000000..708ab841e9 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_5.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_5.png new file mode 100644 index 0000000000..de6eff8174 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_6.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_6.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_7.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_7.png new file mode 100644 index 0000000000..0899f1cb64 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_8.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_8.png new file mode 100644 index 0000000000..732e24c6b5 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_9.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_9.png new file mode 100644 index 0000000000..7bb608a5f5 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_3_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_1.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_1.png new file mode 100644 index 0000000000..af09515c1d Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_10.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_10.png new file mode 100644 index 0000000000..73b5988a83 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_2.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_2.png new file mode 100644 index 0000000000..477d5c75dd Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_3.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_3.png new file mode 100644 index 0000000000..18bb8939fb Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_4.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_4.png new file mode 100644 index 0000000000..dd779cdc6f Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_5.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_5.png new file mode 100644 index 0000000000..c967ce826e Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_6.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_6.png new file mode 100644 index 0000000000..004f4972c1 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_7.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_7.png new file mode 100644 index 0000000000..0b6dc4b338 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_8.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_8.png new file mode 100644 index 0000000000..0d07529080 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_9.png b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_9.png new file mode 100644 index 0000000000..91a390bd96 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_left_gentle_up_4_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_1.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_1.png new file mode 100644 index 0000000000..0cc20fc124 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_10.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_10.png new file mode 100644 index 0000000000..de8c92febd Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_2.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_2.png new file mode 100644 index 0000000000..40d78afb11 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_3.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_3.png new file mode 100644 index 0000000000..72266001d9 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_4.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_4.png new file mode 100644 index 0000000000..65083b24d4 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_5.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_5.png new file mode 100644 index 0000000000..63d18bec03 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_6.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_6.png new file mode 100644 index 0000000000..59d8987ce8 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_7.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_7.png new file mode 100644 index 0000000000..fa856ef273 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_8.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_8.png new file mode 100644 index 0000000000..1eb0dcfd7b Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_9.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_9.png new file mode 100644 index 0000000000..7823ad69c4 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_1_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_1.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_1.png new file mode 100644 index 0000000000..39ce12ed59 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_10.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_10.png new file mode 100644 index 0000000000..9774a9137a Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_2.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_3.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_3.png new file mode 100644 index 0000000000..c80119d928 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_4.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_4.png new file mode 100644 index 0000000000..f7e5265298 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_5.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_5.png new file mode 100644 index 0000000000..34476e97ef Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_6.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_6.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_7.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_7.png new file mode 100644 index 0000000000..99f1286509 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_8.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_8.png new file mode 100644 index 0000000000..1a8f380de0 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_9.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_9.png new file mode 100644 index 0000000000..aec6214467 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_2_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_1.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_1.png new file mode 100644 index 0000000000..ce8ead9156 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_10.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_10.png new file mode 100644 index 0000000000..68265eae47 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_2.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_2.png new file mode 100644 index 0000000000..6498442f31 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_3.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_3.png new file mode 100644 index 0000000000..8e74953a09 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_4.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_4.png new file mode 100644 index 0000000000..84143a435f Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_5.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_5.png new file mode 100644 index 0000000000..5cee4498db Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_6.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_6.png new file mode 100644 index 0000000000..9577102b0d Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_7.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_7.png new file mode 100644 index 0000000000..e38b2be230 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_8.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_8.png new file mode 100644 index 0000000000..47629c486d Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_9.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_9.png new file mode 100644 index 0000000000..d0dfbf7a67 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_3_9.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_1.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_1.png new file mode 100644 index 0000000000..d936e5e09f Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_10.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_10.png new file mode 100644 index 0000000000..2f63f47f24 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_10.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_2.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_2.png new file mode 100644 index 0000000000..1233e77085 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_3.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_3.png new file mode 100644 index 0000000000..648c63bb53 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_4.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_4.png new file mode 100644 index 0000000000..d388734c7c Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_5.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_5.png new file mode 100644 index 0000000000..33504f15e7 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_6.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_6.png new file mode 100644 index 0000000000..4d1174b29f Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_7.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_7.png new file mode 100644 index 0000000000..124a8df24b Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_8.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_8.png new file mode 100644 index 0000000000..8a3b204641 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_8.png differ diff --git a/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_9.png b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_9.png new file mode 100644 index 0000000000..5a154f7761 Binary files /dev/null and b/resources/g2/track/go_karts/medium_turn_right_gentle_up_4_9.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_1.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_1.png new file mode 100644 index 0000000000..a870dafede Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_2.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_2.png new file mode 100644 index 0000000000..c5ac4c3794 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_3.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_3.png new file mode 100644 index 0000000000..045ea2b7a1 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_4.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_4.png new file mode 100644 index 0000000000..9349cb1fd7 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_5.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_5.png new file mode 100644 index 0000000000..a6db15a067 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_6.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_6.png new file mode 100644 index 0000000000..2d7fecd6ee Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_7.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_7.png new file mode 100644 index 0000000000..e2979f0c94 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_7.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_1_8.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_8.png new file mode 100644 index 0000000000..6f70575431 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_1_8.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_2_1.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_1.png new file mode 100644 index 0000000000..62a1489464 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_2_2.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_2.png new file mode 100644 index 0000000000..8081150d3a Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_2_3.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_3.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_2_4.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_4.png new file mode 100644 index 0000000000..c98de1b42f Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_2_5.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_5.png new file mode 100644 index 0000000000..42be56b39a Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_2_6.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_6.png new file mode 100644 index 0000000000..da866ee098 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_3_1.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_1.png new file mode 100644 index 0000000000..f5d47f1d73 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_3_2.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_2.png new file mode 100644 index 0000000000..0c13047a34 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_3_3.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_3.png new file mode 100644 index 0000000000..adb2df96e6 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_3_4.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_4.png new file mode 100644 index 0000000000..4ccad5bf83 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_3_5.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_5.png new file mode 100644 index 0000000000..0e28c38d86 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_3_6.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_6.png new file mode 100644 index 0000000000..2cd5f35a21 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_4_1.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_1.png new file mode 100644 index 0000000000..09d56844dc Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_4_2.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_2.png new file mode 100644 index 0000000000..d13b31441d Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_4_3.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_3.png new file mode 100644 index 0000000000..a532e2feb9 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_4_4.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_4.png new file mode 100644 index 0000000000..7d68987d2c Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_4_5.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_5.png new file mode 100644 index 0000000000..4da397bb1b Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_left_gentle_up_4_6.png b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_6.png new file mode 100644 index 0000000000..6956d08956 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_left_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_1_1.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_1.png new file mode 100644 index 0000000000..e1004af46e Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_1_2.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_2.png new file mode 100644 index 0000000000..ab202f232f Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_1_3.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_3.png new file mode 100644 index 0000000000..0c7b40543d Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_1_4.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_4.png new file mode 100644 index 0000000000..f1854e4f82 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_1_5.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_5.png new file mode 100644 index 0000000000..80b24a2308 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_1_6.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_6.png new file mode 100644 index 0000000000..7dabeac1c1 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_1_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_2_1.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_1.png new file mode 100644 index 0000000000..cd7d4f431b Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_2_2.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_2.png new file mode 100644 index 0000000000..b90f20a2e5 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_2_3.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_3.png new file mode 100644 index 0000000000..c55c8e446b Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_2_4.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_4.png new file mode 100644 index 0000000000..87ce7f275f Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_2_5.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_5.png new file mode 100644 index 0000000000..049e216d32 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_2_6.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_6.png new file mode 100644 index 0000000000..9709bb92ce Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_2_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_3_1.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_1.png new file mode 100644 index 0000000000..93bdbad4a1 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_3_2.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_2.png new file mode 100644 index 0000000000..264ec4c841 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_3_3.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_3.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_3_4.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_4.png new file mode 100644 index 0000000000..f993e19641 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_3_5.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_5.png new file mode 100644 index 0000000000..4c93bead9b Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_3_6.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_6.png new file mode 100644 index 0000000000..ce3a89d411 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_3_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_1.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_1.png new file mode 100644 index 0000000000..26327c7b95 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_2.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_2.png new file mode 100644 index 0000000000..8cbf42517a Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_2.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_3.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_3.png new file mode 100644 index 0000000000..60df159b70 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_3.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_4.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_4.png new file mode 100644 index 0000000000..e844e3847c Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_4.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_5.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_5.png new file mode 100644 index 0000000000..f90de04a03 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_5.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_6.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_6.png new file mode 100644 index 0000000000..d1aca2ec94 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_6.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_7.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_7.png new file mode 100644 index 0000000000..c5a91e3643 Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_7.png differ diff --git a/resources/g2/track/go_karts/small_turn_right_gentle_up_4_8.png b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_8.png new file mode 100644 index 0000000000..78e101f4fe Binary files /dev/null and b/resources/g2/track/go_karts/small_turn_right_gentle_up_4_8.png differ diff --git a/src/openrct2/SpriteIds.h b/src/openrct2/SpriteIds.h index f703d1ce65..6f81bbedd9 100644 --- a/src/openrct2/SpriteIds.h +++ b/src/openrct2/SpriteIds.h @@ -1608,7 +1608,10 @@ enum : ImageIndex SPR_G2_GO_KARTS_TRACK_GENTLE_TO_STEEP_DIAGONAL = SPR_G2_GO_KARTS_TRACK_GENTLE_DIAGONAL + 15, SPR_G2_GO_KARTS_TRACK_STEEP_TO_GENTLE_DIAGONAL = SPR_G2_GO_KARTS_TRACK_GENTLE_TO_STEEP_DIAGONAL + 16, SPR_G2_GO_KARTS_TRACK_STEEP_DIAGONAL = SPR_G2_GO_KARTS_TRACK_STEEP_TO_GENTLE_DIAGONAL + 16, - SPR_G2_GO_KARTS_TRACK_S_BEND = SPR_G2_GO_KARTS_TRACK_STEEP_DIAGONAL + 16, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE = SPR_G2_GO_KARTS_TRACK_STEEP_DIAGONAL + 16, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE = SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 52, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE = SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 80, + SPR_G2_GO_KARTS_TRACK_S_BEND = SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 128, SPR_G2_GO_KARTS_END = SPR_G2_GO_KARTS_TRACK_S_BEND + 34, // G2 Supports diff --git a/src/openrct2/paint/track/thrill/GoKarts.cpp b/src/openrct2/paint/track/thrill/GoKarts.cpp index 45f7c6f941..5cdc87bd27 100644 --- a/src/openrct2/paint/track/thrill/GoKarts.cpp +++ b/src/openrct2/paint/track/thrill/GoKarts.cpp @@ -845,6 +845,421 @@ static constexpr std::array, 4>, kNumOrtho } }; +// clang-format off +static constexpr std::array, 4>, kNumOrthogonalDirections> +kGoKartsLeftQuarterTurn3TilesUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 0, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 1, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 2, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 3, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 4, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 5, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 6, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 7, + + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 8, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 9, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 10, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 11, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 12, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 13, + + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 14, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 15, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 16, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 17, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 18, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 19, + + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 20, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 21, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 22, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 23, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 24, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 25, +}; +// clang-format on + +static constexpr std::array, 4>, kNumOrthogonalDirections> + kGoKartsLeftQuarterTurn3TilesUp25BoundBoxes = { { + { { + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + { { { { 0, 16, 0 }, { 16, 16, 0 } }, { { 0, 16, 22 }, { 16, 16, 1 } } } }, + { { { { 16, 0, 0 }, { 16, 16, 0 } }, { { 16, 0, 22 }, { 16, 16, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 28, 32, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 16, 16, 0 } }, { { 0, 0, 22 }, { 16, 16, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 28, 1 } }, { { 0, 0, 38 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 16, 0 }, { 16, 16, 0 } }, { { 0, 16, 22 }, { 16, 16, 1 } } } }, + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + } }, + { { + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + { {} }, + { { { { 16, 16, 0 }, { 32, 32, 0 } }, { { 16, 16, 22 }, { 32, 32, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + } }, + } }; + +// clang-format off +static constexpr std::array, 4>, kNumOrthogonalDirections> +kGoKartsRightQuarterTurn3TilesUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 26, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 27, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 28, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 29, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 30, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 31, + + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 32, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 33, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 34, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 35, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 36, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 37, + + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 38, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 39, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 40, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 41, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 42, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 43, + + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 44, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 45, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 46, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 47, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 48, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 49, + SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 50, SPR_G2_GO_KARTS_TRACK_GENTLE_SMALL_CURVE + 51, +}; +// clang-format on + +static constexpr std::array, 4>, kNumOrthogonalDirections> + kGoKartsRightQuarterTurn3TilesUp25BoundBoxes = flipTrackSequenceBoundBoxesXAxis( + kGoKartsLeftQuarterTurn3TilesUp25BoundBoxes); + +// clang-format off +static constexpr std::array, 7>, kNumOrthogonalDirections> +kGoKartsLeftQuarterTurn5TilesUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 0, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 1, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 2, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 3, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 4, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 5, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 6, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 7, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 8, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 9, + + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 10, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 11, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 12, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 13, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 14, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 15, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 16, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 17, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 18, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 19, + + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 20, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 21, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 22, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 23, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 24, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 25, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 26, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 27, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 28, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 29, + + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 30, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 31, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 32, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 33, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 34, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 35, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 36, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 37, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 38, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 39, +}; +// clang-format on + +static constexpr std::array, 7>, kNumOrthogonalDirections> + kGoKartsLeftQuarterTurn5TilesUp25BoundBoxes = { { + { { + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 16, 1 } }, { { 0, 0, 38 }, { 32, 16, 1 } } } }, + { { { { 0, 16, 0 }, { 16, 16, 1 } }, { { 0, 16, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 16, 0, 0 }, { 16, 32, 1 } }, { { 16, 0, 38 }, { 16, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 28, 32, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + { {} }, + { { { { -16, -16, 0 }, { 32, 32, 1 } }, { { -16, -16, 38 }, { 32, 32, 1 } } } }, + { { { { 0, 16, 0 }, { 32, 32, 1 } }, { { 0, 16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { -16, -16, 8 }, { 32, 32, 1 } }, { { -16, -16, 38 }, { 32, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 28, 1 } }, { { 0, 0, 38 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 16, 0 }, { 32, 16, 1 } }, { { 0, 16, 38 }, { 32, 16, 1 } } } }, + { { { { 16, 0, 0 }, { 16, 16, 1 } }, { { 16, 0, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 16, 32, 1 } }, { { 0, 0, 38 }, { 16, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + } }, + { { + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + { {} }, + { { { { 16, 0, 0 }, { 16, 32, 1 } }, { { 16, 0, 38 }, { 16, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 16, 16, 1 } }, { { 0, 0, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 16, 0 }, { 32, 16, 1 } }, { { 0, 16, 38 }, { 32, 16, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + } }, + } }; + +// clang-format off +static constexpr std::array, 7>, kNumOrthogonalDirections> +kGoKartsRightQuarterTurn5TilesUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 40, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 41, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 42, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 43, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 44, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 45, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 46, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 47, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 48, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 49, + + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 50, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 51, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 52, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 53, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 54, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 55, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 56, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 57, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 58, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 59, + + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 60, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 61, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 62, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 63, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 64, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 65, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 66, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 67, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 68, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 69, + + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 70, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 71, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 72, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 73, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 74, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 75, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 76, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 77, + SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 78, SPR_G2_GO_KARTS_TRACK_GENTLE_MEDIUM_CURVE + 79, +}; +// clang-format on + +static constexpr std::array, 7>, kNumOrthogonalDirections> + kGoKartsRightQuarterTurn5TilesUp25BoundBoxes = flipTrackSequenceBoundBoxesXAxis( + kGoKartsLeftQuarterTurn5TilesUp25BoundBoxes); + +// clang-format off +static constexpr std::array, 5>, kNumOrthogonalDirections> +kGoKartsLeftEighthToDiagUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 0, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 1, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 2, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 3, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 4, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 5, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 6, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 7, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 8, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 9, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 10, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 11, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 12, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 13, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 14, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 15, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 16, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 17, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 18, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 19, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 20, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 21, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 22, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 23, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 24, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 25, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 26, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 27, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 28, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 29, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 30, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 31, +}; +// clang-format on + +static constexpr std::array, 5>, kNumOrthogonalDirections> + kGoKartsLeftEighthToDiagUp25BoundBoxes = { { + { { + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 16, 1 } }, { { 0, 0, 38 }, { 32, 16, 1 } } } }, + { { { { 0, 16, 0 }, { 16, 16, 0 } }, { { 0, 16, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 16, 16, 0 }, { 16, 16, 1 } }, { { 16, 16, 38 }, { 16, 16, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 28, 32, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 16, 34, 1 } }, { { 0, 0, 38 }, { 16, 34, 1 } } } }, + { { { { 16, 16, 0 }, { 32, 32, 1 } }, { { 16, 16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 64, 32, 1 } }, { { 0, 0, 38 }, { 64, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 16, 0, 0 }, { 16, 16, 1 } }, { { 16, 0, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 16, 16, 1 } }, { { 0, 0, 38 }, { 16, 16, 1 } } } }, + } }, + { { + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + { { { { 16, 0, 0 }, { 16, 32, 1 } }, { { 16, 0, 38 }, { 16, 32, 1 } } } }, + { { { { -16, -16, 0 }, { 32, 32, 1 } }, { { -16, -16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + } }, + } }; + +// clang-format off +static constexpr std::array, 5>, kNumOrthogonalDirections> +kGoKartsRightEighthToDiagUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 32, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 33, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 34, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 35, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 36, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 37, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 38, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 39, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 40, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 41, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 42, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 43, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 44, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 45, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 46, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 47, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 48, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 49, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 50, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 51, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 52, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 53, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 54, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 55, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 56, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 57, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 58, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 59, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 60, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 61, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 62, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 63, +}; +// clang-format on + +static constexpr std::array, 5>, kNumOrthogonalDirections> + kGoKartsRightEighthToDiagUp25BoundBoxes = flipTrackSequenceBoundBoxesXAxis(kGoKartsLeftEighthToDiagUp25BoundBoxes); + +// clang-format off +static constexpr std::array, 5>, kNumOrthogonalDirections> +kGoKartsLeftEighthToOrthogonalUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 64, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 65, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 66, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 67, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 68, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 69, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 70, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 71, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 72, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 73, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 74, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 75, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 76, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 77, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 78, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 79, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 80, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 81, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 82, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 83, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 84, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 85, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 86, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 87, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 88, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 89, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 90, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 91, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 92, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 93, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 94, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 95, +}; +// clang-format on + +static constexpr std::array, 5>, kNumOrthogonalDirections> + kGoKartsLeftEighthToOrthogonalUp25BoundBoxes = { { + { { + { { { { 0, 0, 0 }, { 32, 32, 0 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 16, 16, 0 }, { 32, 32, 1 } }, { { 16, 16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 28, 1 } }, { { 0, 0, 38 }, { 32, 28, 1 } } } }, + { { { { 0, 0, 0 }, { 48, 28, 1 } }, { { 0, 0, 38 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 32, 32, 0 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 16, 0, 0 }, { 16, 16, 1 } }, { { 16, 0, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 28, 32, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 32, 32, 0 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { -16, -16, 0 }, { 32, 32, 1 } }, { { -16, -16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 16, 16, 0 } }, { { 0, 0, 38 }, { 16, 16, 0 } } } }, + { { { { 0, 16, 0 }, { 16, 16, 1 } }, { { 0, 16, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 28, 32, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + } }, + } }; + +// clang-format off +static constexpr std::array, 5>, kNumOrthogonalDirections> +kGoKartsRightEighthToOrthogonalUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 96, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 97, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 98, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 99, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 100, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 101, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 102, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 103, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 104, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 105, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 106, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 107, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 108, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 109, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 110, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 111, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 112, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 113, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 114, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 115, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 116, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 117, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 118, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 119, + + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 120, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 121, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 122, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 123, + kImageIndexUndefined, kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 124, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 125, + SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 126, SPR_G2_GO_KARTS_TRACK_GENTLE_LARGE_CURVE + 127, +}; +// clang-format on + +static constexpr std::array, 5>, kNumOrthogonalDirections> + kGoKartsRightEighthToOrthogonalUp25BoundBoxes = { { + { { + { { { { 0, 0, 0 }, { 32, 32, 0 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { -16, -16, 0 }, { 32, 32, 1 } }, { { -16, -16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 26, 32, 1 } }, { { 2, 0, 38 }, { 26, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 32, 32, 0 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 0, 16, 0 }, { 16, 16, 1 } }, { { 0, 16, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 28, 1 } }, { { 0, 0, 38 }, { 32, 28, 1 } } } }, + { { { { 0, 0, 0 }, { 32, 28, 1 } }, { { 0, 0, 38 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 32, 32, 0 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 16, 16, 0 }, { 32, 32, 1 } }, { { 16, 16, 38 }, { 32, 32, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 28, 32, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 28, 48, 1 } }, { { 0, 0, 38 }, { 28, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 16, 16, 0 } }, { { 0, 0, 38 }, { 16, 16, 1 } } } }, + { { { { 16, 0, 0 }, { 16, 16, 1 } }, { { 16, 0, 38 }, { 16, 16, 1 } } } }, + { {} }, + { { { { 0, 0, 0 }, { 32, 32, 1 } }, { { 0, 0, 38 }, { 32, 32, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 26, 1 } }, { { 0, 2, 38 }, { 32, 26, 1 } } } }, + } }, + } }; + static constexpr std::array, 4>, kNumOrthogonalDirections> kGoKartsSBendLeftSprites = { SPR_G2_GO_KARTS_TRACK_S_BEND + 0, SPR_G2_GO_KARTS_TRACK_S_BEND + 1, kImageIndexUndefined, SPR_G2_GO_KARTS_TRACK_S_BEND + 2, SPR_G2_GO_KARTS_TRACK_S_BEND + 3, kImageIndexUndefined, @@ -1827,6 +2242,452 @@ static void TrackDiagDown60( supportType); } +static void TrackLeftQuarterTurn3TilesUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftQuarterTurn3TilesUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsLeftQuarterTurn3TilesUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftQuarterTurn3TilesUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsLeftQuarterTurn3TilesUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::NeSw, + WoodenSupportSubType::Null, + WoodenSupportSubType::Corner3, + WoodenSupportSubType::NeSw, + }; + static constexpr std::array woodenSupportTransitionTypes = { + WoodenSupportTransitionType::Up25Deg, + WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, + WoodenSupportTransitionType::Up25Deg, + }; + static constexpr std::array woodenSupportExtraRotation = { + 0, + 0, + 0, + -1, + }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, (direction + woodenSupportExtraRotation[trackSequence]) & 3, + height, session.SupportColours, woodenSupportTransitionTypes[trackSequence]); + } + + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else if (trackSequence == 3 && (direction == 2 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, DirectionPrev(direction), height + 8, kTunnelGroup, TunnelSubType::SlopeEnd); + } + + static constexpr std::array blockedSegments = { + kSegmentsAll, + kSegmentsAll, + EnumsToFlags(PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft), + kSegmentsAll, + }; + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0); + + static constexpr std::array generalSupportHeights = { 72, 56, 56, 72 }; + PaintUtilSetGeneralSupportHeight(session, height + generalSupportHeights[trackSequence]); +} + +static void TrackRightQuarterTurn3TilesUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightQuarterTurn3TilesUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsRightQuarterTurn3TilesUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightQuarterTurn3TilesUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsRightQuarterTurn3TilesUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::NeSw, + WoodenSupportSubType::Null, + WoodenSupportSubType::Corner2, + WoodenSupportSubType::NeSw, + }; + static constexpr std::array woodenSupportTransitionTypes = { + WoodenSupportTransitionType::Up25Deg, + WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, + WoodenSupportTransitionType::Up25Deg, + }; + static constexpr std::array woodenSupportExtraRotation = { + 0, + 0, + 0, + 1, + }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, (direction + woodenSupportExtraRotation[trackSequence]) & 3, + height, session.SupportColours, woodenSupportTransitionTypes[trackSequence]); + } + + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else if (trackSequence == 3 && (direction == 0 || direction == 1)) + { + PaintUtilPushTunnelRotated(session, DirectionNext(direction), height + 8, kTunnelGroup, TunnelSubType::SlopeEnd); + } + + static constexpr std::array blockedSegments = { + kSegmentsAll, + kSegmentsAll, + EnumsToFlags(PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft), + kSegmentsAll, + }; + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0); + + static constexpr std::array generalSupportHeights = { 72, 56, 56, 72 }; + PaintUtilSetGeneralSupportHeight(session, height + generalSupportHeights[trackSequence]); +} + +static void TrackLeftQuarterTurn3TilesDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackRightQuarterTurn3TilesUp25( + session, ride, kMapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence], DirectionNext(direction), height, + trackElement, supportType); +} + +static void TrackRightQuarterTurn3TilesDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackLeftQuarterTurn3TilesUp25( + session, ride, kMapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[trackSequence], DirectionPrev(direction), height, + trackElement, supportType); +} + +static void TrackLeftQuarterTurn5TilesUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftQuarterTurn5TilesUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsLeftQuarterTurn5TilesUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftQuarterTurn5TilesUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsLeftQuarterTurn5TilesUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::NeSw, WoodenSupportSubType::Null, WoodenSupportSubType::Corner3, WoodenSupportSubType::Corner1, + WoodenSupportSubType::Null, WoodenSupportSubType::Corner3, WoodenSupportSubType::NeSw, + }; + static constexpr std::array woodenSupportTransitionTypes = { + WoodenSupportTransitionType::Up25Deg, WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, + }; + static constexpr std::array woodenSupportHeight = { 0, 0, 0, -16, 0, 0, 0 }; + static constexpr std::array woodenSupportExtraRotation = { 0, 0, 0, 0, 0, 0, -1 }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, (direction + woodenSupportExtraRotation[trackSequence]) & 3, + height + woodenSupportHeight[trackSequence], session.SupportColours, woodenSupportTransitionTypes[trackSequence]); + } + + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else if (trackSequence == 6 && (direction == 2 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, DirectionPrev(direction), height + 8, kTunnelGroup, TunnelSubType::SlopeEnd); + } + + static constexpr std::array blockedSegments = { + kSegmentsAll, + EnumsToFlags(PaintSegment::right, PaintSegment::topRight, PaintSegment::bottomRight), + EnumsToFlags( + PaintSegment::top, PaintSegment::left, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::topRight, + PaintSegment::bottomLeft), + EnumsToFlags( + PaintSegment::top, PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft, PaintSegment::bottomRight), + EnumsToFlags(PaintSegment::right, PaintSegment::topRight, PaintSegment::bottomRight), + EnumsToFlags( + PaintSegment::left, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft, + PaintSegment::bottomRight), + kSegmentsAll, + }; + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0); + + static constexpr std::array generalSupportHeights = { 72, 72, 72, 64, 72, 72, 72 }; + PaintUtilSetGeneralSupportHeight(session, height + generalSupportHeights[trackSequence]); +} + +static void TrackRightQuarterTurn5TilesUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightQuarterTurn5TilesUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsRightQuarterTurn5TilesUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightQuarterTurn5TilesUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsRightQuarterTurn5TilesUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::NeSw, WoodenSupportSubType::Null, WoodenSupportSubType::Corner2, WoodenSupportSubType::Corner0, + WoodenSupportSubType::Null, WoodenSupportSubType::Corner2, WoodenSupportSubType::NeSw, + }; + static constexpr std::array woodenSupportTransitionTypes = { + WoodenSupportTransitionType::Up25Deg, WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, + }; + static constexpr std::array woodenSupportHeight = { 0, 0, 0, -16, 0, 0, 0 }; + static constexpr std::array woodenSupportExtraRotation = { 0, 0, 0, 0, 0, 0, 1 }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, (direction + woodenSupportExtraRotation[trackSequence]) & 3, + height + woodenSupportHeight[trackSequence], session.SupportColours, woodenSupportTransitionTypes[trackSequence]); + } + + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else if (trackSequence == 6 && (direction == 2 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, DirectionNext(direction), height + 8, kTunnelGroup, TunnelSubType::SlopeEnd); + } + + static constexpr std::array blockedSegments = { + kSegmentsAll, + EnumsToFlags(PaintSegment::top, PaintSegment::topLeft, PaintSegment::topRight), + EnumsToFlags( + PaintSegment::right, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topRight, PaintSegment::bottomLeft, + PaintSegment::bottomRight), + EnumsToFlags( + PaintSegment::top, PaintSegment::left, PaintSegment::right, PaintSegment::centre, PaintSegment::topLeft, + PaintSegment::topRight, PaintSegment::bottomLeft, PaintSegment::bottomRight), + EnumsToFlags(PaintSegment::top, PaintSegment::topLeft, PaintSegment::topRight), + EnumsToFlags( + PaintSegment::left, PaintSegment::bottom, PaintSegment::centre, PaintSegment::topLeft, PaintSegment::bottomLeft, + PaintSegment::bottomRight), + kSegmentsAll, + }; + PaintUtilSetSegmentSupportHeight(session, PaintUtilRotateSegments(blockedSegments[trackSequence], direction), 0xFFFF, 0); + + static constexpr std::array generalSupportHeights = { 72, 72, 72, 64, 72, 72, 72 }; + PaintUtilSetGeneralSupportHeight(session, height + generalSupportHeights[trackSequence]); +} + +static void TrackLeftQuarterTurn5TilesDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackRightQuarterTurn5TilesUp25( + session, ride, kMapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence], DirectionNext(direction), height, + trackElement, supportType); +} + +static void TrackRightQuarterTurn5TilesDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackLeftQuarterTurn5TilesUp25( + session, ride, kMapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[trackSequence], DirectionPrev(direction), height, + trackElement, supportType); +} + +static void TrackLeftEighthToDiagUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftEighthToDiagUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsLeftEighthToDiagUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftEighthToDiagUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsLeftEighthToDiagUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::NeSw, WoodenSupportSubType::NeSw, WoodenSupportSubType::Corner1, + WoodenSupportSubType::Corner3, WoodenSupportSubType::Corner2, + }; + static constexpr std::array woodenSupportTransitionTypes = { + WoodenSupportTransitionType::Up25Deg, WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + }; + static constexpr std::array woodenSupportHeight = { 0, 0, -16, 0, 0 }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, direction, height + woodenSupportHeight[trackSequence], + session.SupportColours, woodenSupportTransitionTypes[trackSequence]); + } + + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); +} + +static void TrackRightEighthToDiagUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightEighthToDiagUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsRightEighthToDiagUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightEighthToDiagUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsRightEighthToDiagUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::NeSw, WoodenSupportSubType::NeSw, WoodenSupportSubType::Corner0, + WoodenSupportSubType::Corner2, WoodenSupportSubType::Corner3, + }; + static constexpr std::array woodenSupportTransitionTypes = { + WoodenSupportTransitionType::Up25Deg, WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + WoodenSupportTransitionType::None, WoodenSupportTransitionType::None, + }; + static constexpr std::array woodenSupportHeight = { 0, 0, -16, 0, 0 }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, direction, height + woodenSupportHeight[trackSequence], + session.SupportColours, woodenSupportTransitionTypes[trackSequence]); + } + + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); +} + +static void TrackLeftEighthToOrthogonalUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftEighthToOrthogonalUp25Sprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsLeftEighthToOrthogonalUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsLeftEighthToOrthogonalUp25Sprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsLeftEighthToOrthogonalUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::Null, WoodenSupportSubType::Corner2, WoodenSupportSubType::Corner0, + WoodenSupportSubType::NeSw, WoodenSupportSubType::NeSw, + }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, direction, height, session.SupportColours, + WoodenSupportTransitionType::None); + } + + if (trackSequence == 4 && (direction == 1 || direction == 2)) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, kTunnelGroup, TunnelSubType::SlopeEnd); + } + + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); +} + +static void TrackRightEighthToOrthogonalUp25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightEighthToOrthogonalUp25Sprites[direction][trackSequence][0]), + height, { 0, 0, 0 }, kGoKartsRightEighthToOrthogonalUp25BoundBoxes[direction][trackSequence][0]); + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsRightEighthToOrthogonalUp25Sprites[direction][trackSequence][1]), + height, { 0, 0, 0 }, kGoKartsRightEighthToOrthogonalUp25BoundBoxes[direction][trackSequence][1]); + + static constexpr std::array woodenSupportSubTypes = { + WoodenSupportSubType::Null, WoodenSupportSubType::Corner0, WoodenSupportSubType::Corner2, + WoodenSupportSubType::NwSe, WoodenSupportSubType::NwSe, + }; + const WoodenSupportSubType woodenSupportSubType = woodenSupportSubTypes[trackSequence]; + if (woodenSupportSubType != WoodenSupportSubType::Null) + { + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, woodenSupportSubType, direction, height, session.SupportColours, + WoodenSupportTransitionType::None); + } + + if (trackSequence == 4 && (direction == 0 || direction == 1)) + { + PaintUtilPushTunnelRotated(session, DirectionNext(direction), height + 8, kTunnelGroup, TunnelSubType::SlopeEnd); + } + + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); +} + +static void TrackLeftEighthToDiagDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + static constexpr std::array map = { 4, 3, 1, 2, 0 }; + TrackRightEighthToOrthogonalUp25( + session, ride, map[trackSequence], DirectionNext(direction), height, trackElement, supportType); +} + +static void TrackRightEighthToDiagDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + static constexpr std::array map = { 4, 3, 1, 2, 0 }; + TrackLeftEighthToOrthogonalUp25( + session, ride, map[trackSequence], DirectionReverse(direction), height, trackElement, supportType); +} + +static void TrackLeftEighthToOrthogonalDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackRightEighthToDiagUp25( + session, ride, mapLeftEighthTurnToOrthogonal[trackSequence], DirectionReverse(direction), height, trackElement, + supportType); +} + +static void TrackRightEighthToOrthogonalDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackLeftEighthToDiagUp25( + session, ride, mapLeftEighthTurnToOrthogonal[trackSequence], DirectionPrev(direction), height, trackElement, + supportType); +} + static void TrackSBendLeft( PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, const TrackElement& trackElement, const SupportType supportType) @@ -2007,6 +2868,44 @@ TrackPaintFunction GetTrackPaintFunctionGoKarts(OpenRCT2::TrackElemType trackTyp case TrackElemType::DiagDown60: return TrackDiagDown60; + // Small gentle turns + case TrackElemType::LeftQuarterTurn3TilesUp25: + return TrackLeftQuarterTurn3TilesUp25; + case TrackElemType::RightQuarterTurn3TilesUp25: + return TrackRightQuarterTurn3TilesUp25; + case TrackElemType::LeftQuarterTurn3TilesDown25: + return TrackLeftQuarterTurn3TilesDown25; + case TrackElemType::RightQuarterTurn3TilesDown25: + return TrackRightQuarterTurn3TilesDown25; + + // Medium gentle turns + case TrackElemType::LeftQuarterTurn5TilesUp25: + return TrackLeftQuarterTurn5TilesUp25; + case TrackElemType::RightQuarterTurn5TilesUp25: + return TrackRightQuarterTurn5TilesUp25; + case TrackElemType::LeftQuarterTurn5TilesDown25: + return TrackLeftQuarterTurn5TilesDown25; + case TrackElemType::RightQuarterTurn5TilesDown25: + return TrackRightQuarterTurn5TilesDown25; + + // Large gentle turns + 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; + // S bends case TrackElemType::SBendLeft: return TrackSBendLeft; diff --git a/src/openrct2/park/Legacy.cpp b/src/openrct2/park/Legacy.cpp index a12c47c304..bb4f18ca27 100644 --- a/src/openrct2/park/Legacy.cpp +++ b/src/openrct2/park/Legacy.cpp @@ -2961,6 +2961,22 @@ bool TrackTypeMustBeMadeInvisible(ride_type_t rideType, OpenRCT2::TrackElemType case TrackElemType::DiagDown25ToDown60: case TrackElemType::DiagDown60ToDown25: case TrackElemType::DiagDown60: + case TrackElemType::LeftQuarterTurn3TilesUp25: + case TrackElemType::RightQuarterTurn3TilesUp25: + case TrackElemType::LeftQuarterTurn3TilesDown25: + case TrackElemType::RightQuarterTurn3TilesDown25: + case TrackElemType::LeftQuarterTurn5TilesUp25: + case TrackElemType::RightQuarterTurn5TilesUp25: + case TrackElemType::LeftQuarterTurn5TilesDown25: + case TrackElemType::RightQuarterTurn5TilesDown25: + 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::SBendLeft: case TrackElemType::SBendRight: return true; diff --git a/src/openrct2/ride/rtd/thrill/GoKarts.h b/src/openrct2/ride/rtd/thrill/GoKarts.h index f2d3a84b2e..7dc304daf7 100644 --- a/src/openrct2/ride/rtd/thrill/GoKarts.h +++ b/src/openrct2/ride/rtd/thrill/GoKarts.h @@ -23,7 +23,7 @@ constexpr RideTypeDescriptor GoKartsRTD = .TrackPaintFunctions = TrackDrawerDescriptor({ .trackStyle = TrackStyle::goKarts, .supportType = WoodenSupportType::Truss, - .enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::slope, TrackGroup::curveVerySmall, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::sBend}, + .enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::slope, TrackGroup::curveVerySmall, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::slopeCurve, TrackGroup::slopeCurveLarge, TrackGroup::sBend}, .extraTrackGroups = {TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeSteepLong}, }), .InvertedTrackPaintFunctions = {},