diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 73a70f90d1..4c2f852a8d 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -23658,6 +23658,436 @@ "x": -32, "y": -4 }, + { + "path": "track/go_karts/gentle_to_steep_up_1_1.png", + "x": -32, + "y": -33 + }, + { + "path": "track/go_karts/gentle_to_steep_up_1_2.png", + "x": -6, + "y": -20 + }, + { + "path": "track/go_karts/gentle_to_steep_up_2_1.png", + "x": -23, + "y": -16 + }, + { + "path": "track/go_karts/gentle_to_steep_up_2_2.png", + "x": -32, + "y": -17 + }, + { + "path": "track/go_karts/gentle_to_steep_up_3_1.png", + "x": -27, + "y": -16 + }, + { + "path": "track/go_karts/gentle_to_steep_up_3_2.png", + "x": -32, + "y": -17 + }, + { + "path": "track/go_karts/gentle_to_steep_up_4_1.png", + "x": -26, + "y": -33 + }, + { + "path": "track/go_karts/gentle_to_steep_up_4_2.png", + "x": -32, + "y": -20 + }, + { + "path": "track/go_karts/steep_to_gentle_up_1_1.png", + "x": -33, + "y": -34 + }, + { + "path": "track/go_karts/steep_to_gentle_up_1_2.png", + "x": -6, + "y": -20 + }, + { + "path": "track/go_karts/steep_to_gentle_up_2_1.png", + "x": -4, + "y": -18 + }, + { + "path": "track/go_karts/steep_to_gentle_up_2_2.png", + "x": -33, + "y": -5 + }, + { + "path": "track/go_karts/steep_to_gentle_up_3_1.png", + "x": -32, + "y": -18 + }, + { + "path": "track/go_karts/steep_to_gentle_up_3_2.png", + "x": -7, + "y": -5 + }, + { + "path": "track/go_karts/steep_to_gentle_up_4_1.png", + "x": -26, + "y": -33 + }, + { + "path": "track/go_karts/steep_to_gentle_up_4_2.png", + "x": -32, + "y": -20 + }, + { + "path": "track/go_karts/steep_1_1.png", + "x": -33, + "y": -65 + }, + { + "path": "track/go_karts/steep_1_2.png", + "x": -6, + "y": -52 + }, + { + "path": "track/go_karts/steep_2.png", + "x": -33, + "y": -49 + }, + { + "path": "track/go_karts/steep_3.png", + "x": -32, + "y": -49 + }, + { + "path": "track/go_karts/steep_4_1.png", + "x": -26, + "y": -65 + }, + { + "path": "track/go_karts/steep_4_2.png", + "x": -32, + "y": -52 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_1.png", + "x": -32, + "y": -5 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_2.png", + "x": -6, + "y": 8 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_3.png", + "x": -33, + "y": -19 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_4.png", + "x": -6, + "y": -6 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_5.png", + "x": -32, + "y": -28 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_6.png", + "x": -6, + "y": -14 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_7.png", + "x": -32, + "y": -49 + }, + { + "path": "track/go_karts/flat_to_steep_up_1_8.png", + "x": -6, + "y": -36 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_1.png", + "x": -25, + "y": -2 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_2.png", + "x": -32, + "y": 12 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_3.png", + "x": -25, + "y": -6 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_4.png", + "x": -33, + "y": 8 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_5.png", + "x": -34, + "y": 2 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_6.png", + "x": -34, + "y": -40 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_7.png", + "x": -31, + "y": -33 + }, + { + "path": "track/go_karts/flat_to_steep_up_2_8.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_1.png", + "x": -33, + "y": -2 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_2.png", + "x": -7, + "y": 12 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_3.png", + "x": -33, + "y": -6 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_4.png", + "x": -8, + "y": 8 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_5.png", + "x": -1, + "y": 2 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_6.png", + "x": -59, + "y": -40 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_7.png", + "x": -32, + "y": -33 + }, + { + "path": "track/go_karts/flat_to_steep_up_3_8.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_1.png", + "x": -26, + "y": -5 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_2.png", + "x": -33, + "y": 8 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_3.png", + "x": -26, + "y": -19 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_4.png", + "x": -32, + "y": -5 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_5.png", + "x": -26, + "y": -28 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_6.png", + "x": -32, + "y": -14 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_7.png", + "x": -26, + "y": -49 + }, + { + "path": "track/go_karts/flat_to_steep_up_4_8.png", + "x": -32, + "y": -36 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_1.png", + "x": -33, + "y": -46 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_2.png", + "x": -6, + "y": -33 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_3.png", + "x": -33, + "y": -31 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_4.png", + "x": -6, + "y": -18 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_5.png", + "x": -33, + "y": -21 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_6.png", + "x": -6, + "y": -8 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_7.png", + "x": -33, + "y": -10 + }, + { + "path": "track/go_karts/steep_to_flat_up_1_8.png", + "x": -6, + "y": 3 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_1.png", + "x": -33, + "y": -20 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_2.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_3.png", + "x": -14, + "y": -17 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_4.png", + "x": -32, + "y": -4 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_5.png", + "x": -23, + "y": -9 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_6.png", + "x": -33, + "y": 4 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_7.png", + "x": -24, + "y": -5 + }, + { + "path": "track/go_karts/steep_to_flat_up_2_8.png", + "x": -32, + "y": 8 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_1.png", + "x": -17, + "y": -20 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_2.png", + "x": 0, + "y": 0 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_3.png", + "x": -35, + "y": -17 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_4.png", + "x": -9, + "y": -4 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_5.png", + "x": -32, + "y": -9 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_6.png", + "x": -6, + "y": 4 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_7.png", + "x": -33, + "y": -5 + }, + { + "path": "track/go_karts/steep_to_flat_up_3_8.png", + "x": -6, + "y": 8 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_1.png", + "x": -26, + "y": -46 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_2.png", + "x": -32, + "y": -33 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_3.png", + "x": -26, + "y": -31 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_4.png", + "x": -32, + "y": -18 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_5.png", + "x": -26, + "y": -21 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_6.png", + "x": -32, + "y": -7 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_7.png", + "x": -26, + "y": -9 + }, + { + "path": "track/go_karts/steep_to_flat_up_4_8.png", + "x": -33, + "y": 4 + }, { "path": "track/go_karts/small_turn_left_1_1.png", "x": -32, diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_1.png b/resources/g2/track/go_karts/flat_to_steep_up_1_1.png new file mode 100644 index 0000000000..d60207ae5f Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_1.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_2.png b/resources/g2/track/go_karts/flat_to_steep_up_1_2.png new file mode 100644 index 0000000000..f50e3b1af7 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_2.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_3.png b/resources/g2/track/go_karts/flat_to_steep_up_1_3.png new file mode 100644 index 0000000000..06c1dc1fc9 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_3.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_4.png b/resources/g2/track/go_karts/flat_to_steep_up_1_4.png new file mode 100644 index 0000000000..ba5859d24b Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_4.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_5.png b/resources/g2/track/go_karts/flat_to_steep_up_1_5.png new file mode 100644 index 0000000000..71721e449c Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_5.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_6.png b/resources/g2/track/go_karts/flat_to_steep_up_1_6.png new file mode 100644 index 0000000000..7beb64b2d3 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_6.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_7.png b/resources/g2/track/go_karts/flat_to_steep_up_1_7.png new file mode 100644 index 0000000000..6504720da3 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_7.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_1_8.png b/resources/g2/track/go_karts/flat_to_steep_up_1_8.png new file mode 100644 index 0000000000..b4db33fb48 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_1_8.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_1.png b/resources/g2/track/go_karts/flat_to_steep_up_2_1.png new file mode 100644 index 0000000000..727b1f807e Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_1.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_2.png b/resources/g2/track/go_karts/flat_to_steep_up_2_2.png new file mode 100644 index 0000000000..aab07a592d Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_2.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_3.png b/resources/g2/track/go_karts/flat_to_steep_up_2_3.png new file mode 100644 index 0000000000..17f8723c6b Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_3.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_4.png b/resources/g2/track/go_karts/flat_to_steep_up_2_4.png new file mode 100644 index 0000000000..3d7df8ff7f Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_4.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_5.png b/resources/g2/track/go_karts/flat_to_steep_up_2_5.png new file mode 100644 index 0000000000..8e8561297b Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_5.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_6.png b/resources/g2/track/go_karts/flat_to_steep_up_2_6.png new file mode 100644 index 0000000000..e9b97ee24a Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_6.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_7.png b/resources/g2/track/go_karts/flat_to_steep_up_2_7.png new file mode 100644 index 0000000000..682bf437d1 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_7.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_2_8.png b/resources/g2/track/go_karts/flat_to_steep_up_2_8.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_2_8.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_1.png b/resources/g2/track/go_karts/flat_to_steep_up_3_1.png new file mode 100644 index 0000000000..7f1b47c9c1 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_1.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_2.png b/resources/g2/track/go_karts/flat_to_steep_up_3_2.png new file mode 100644 index 0000000000..6799cc0694 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_2.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_3.png b/resources/g2/track/go_karts/flat_to_steep_up_3_3.png new file mode 100644 index 0000000000..0b98434a6a Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_3.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_4.png b/resources/g2/track/go_karts/flat_to_steep_up_3_4.png new file mode 100644 index 0000000000..ba7ec437f2 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_4.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_5.png b/resources/g2/track/go_karts/flat_to_steep_up_3_5.png new file mode 100644 index 0000000000..a85a2ce80b Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_5.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_6.png b/resources/g2/track/go_karts/flat_to_steep_up_3_6.png new file mode 100644 index 0000000000..340c4f9055 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_6.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_7.png b/resources/g2/track/go_karts/flat_to_steep_up_3_7.png new file mode 100644 index 0000000000..1d3c77848a Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_7.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_3_8.png b/resources/g2/track/go_karts/flat_to_steep_up_3_8.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_3_8.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_1.png b/resources/g2/track/go_karts/flat_to_steep_up_4_1.png new file mode 100644 index 0000000000..9e78857acb Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_1.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_2.png b/resources/g2/track/go_karts/flat_to_steep_up_4_2.png new file mode 100644 index 0000000000..dfa8122ddb Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_2.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_3.png b/resources/g2/track/go_karts/flat_to_steep_up_4_3.png new file mode 100644 index 0000000000..9b7bc6417b Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_3.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_4.png b/resources/g2/track/go_karts/flat_to_steep_up_4_4.png new file mode 100644 index 0000000000..74d05a4fbb Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_4.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_5.png b/resources/g2/track/go_karts/flat_to_steep_up_4_5.png new file mode 100644 index 0000000000..1418f56d8c Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_5.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_6.png b/resources/g2/track/go_karts/flat_to_steep_up_4_6.png new file mode 100644 index 0000000000..51f93d603a Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_6.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_7.png b/resources/g2/track/go_karts/flat_to_steep_up_4_7.png new file mode 100644 index 0000000000..adb74a020b Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_7.png differ diff --git a/resources/g2/track/go_karts/flat_to_steep_up_4_8.png b/resources/g2/track/go_karts/flat_to_steep_up_4_8.png new file mode 100644 index 0000000000..4c0d0fea1f Binary files /dev/null and b/resources/g2/track/go_karts/flat_to_steep_up_4_8.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_1_1.png b/resources/g2/track/go_karts/gentle_to_steep_up_1_1.png new file mode 100644 index 0000000000..8775f869f6 Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_1_1.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_1_2.png b/resources/g2/track/go_karts/gentle_to_steep_up_1_2.png new file mode 100644 index 0000000000..ac70de1462 Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_1_2.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_2_1.png b/resources/g2/track/go_karts/gentle_to_steep_up_2_1.png new file mode 100644 index 0000000000..1165fa464b Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_2_1.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_2_2.png b/resources/g2/track/go_karts/gentle_to_steep_up_2_2.png new file mode 100644 index 0000000000..82fb66935f Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_2_2.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_3_1.png b/resources/g2/track/go_karts/gentle_to_steep_up_3_1.png new file mode 100644 index 0000000000..52af6c55e1 Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_3_1.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_3_2.png b/resources/g2/track/go_karts/gentle_to_steep_up_3_2.png new file mode 100644 index 0000000000..ee9ca3d11a Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_3_2.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_4_1.png b/resources/g2/track/go_karts/gentle_to_steep_up_4_1.png new file mode 100644 index 0000000000..2ee9ad36f4 Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_4_1.png differ diff --git a/resources/g2/track/go_karts/gentle_to_steep_up_4_2.png b/resources/g2/track/go_karts/gentle_to_steep_up_4_2.png new file mode 100644 index 0000000000..379d4f3ac9 Binary files /dev/null and b/resources/g2/track/go_karts/gentle_to_steep_up_4_2.png differ diff --git a/resources/g2/track/go_karts/steep_1_1.png b/resources/g2/track/go_karts/steep_1_1.png new file mode 100644 index 0000000000..1ab65a4983 Binary files /dev/null and b/resources/g2/track/go_karts/steep_1_1.png differ diff --git a/resources/g2/track/go_karts/steep_1_2.png b/resources/g2/track/go_karts/steep_1_2.png new file mode 100644 index 0000000000..bd9027d5de Binary files /dev/null and b/resources/g2/track/go_karts/steep_1_2.png differ diff --git a/resources/g2/track/go_karts/steep_2.png b/resources/g2/track/go_karts/steep_2.png new file mode 100644 index 0000000000..2d2b7cc59d Binary files /dev/null and b/resources/g2/track/go_karts/steep_2.png differ diff --git a/resources/g2/track/go_karts/steep_3.png b/resources/g2/track/go_karts/steep_3.png new file mode 100644 index 0000000000..221886d122 Binary files /dev/null and b/resources/g2/track/go_karts/steep_3.png differ diff --git a/resources/g2/track/go_karts/steep_4_1.png b/resources/g2/track/go_karts/steep_4_1.png new file mode 100644 index 0000000000..979dbe038d Binary files /dev/null and b/resources/g2/track/go_karts/steep_4_1.png differ diff --git a/resources/g2/track/go_karts/steep_4_2.png b/resources/g2/track/go_karts/steep_4_2.png new file mode 100644 index 0000000000..e5462a0b90 Binary files /dev/null and b/resources/g2/track/go_karts/steep_4_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_1.png b/resources/g2/track/go_karts/steep_to_flat_up_1_1.png new file mode 100644 index 0000000000..066153300f Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_2.png b/resources/g2/track/go_karts/steep_to_flat_up_1_2.png new file mode 100644 index 0000000000..81e1f57bd6 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_3.png b/resources/g2/track/go_karts/steep_to_flat_up_1_3.png new file mode 100644 index 0000000000..282d830a6d Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_3.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_4.png b/resources/g2/track/go_karts/steep_to_flat_up_1_4.png new file mode 100644 index 0000000000..69bbf13870 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_4.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_5.png b/resources/g2/track/go_karts/steep_to_flat_up_1_5.png new file mode 100644 index 0000000000..7648d502a2 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_5.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_6.png b/resources/g2/track/go_karts/steep_to_flat_up_1_6.png new file mode 100644 index 0000000000..8f3df92ca1 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_6.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_7.png b/resources/g2/track/go_karts/steep_to_flat_up_1_7.png new file mode 100644 index 0000000000..0e1d17a20f Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_7.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_1_8.png b/resources/g2/track/go_karts/steep_to_flat_up_1_8.png new file mode 100644 index 0000000000..574633bc18 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_1_8.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_1.png b/resources/g2/track/go_karts/steep_to_flat_up_2_1.png new file mode 100644 index 0000000000..7728008173 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_2.png b/resources/g2/track/go_karts/steep_to_flat_up_2_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_3.png b/resources/g2/track/go_karts/steep_to_flat_up_2_3.png new file mode 100644 index 0000000000..a704a88a09 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_3.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_4.png b/resources/g2/track/go_karts/steep_to_flat_up_2_4.png new file mode 100644 index 0000000000..4acb387d4b Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_4.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_5.png b/resources/g2/track/go_karts/steep_to_flat_up_2_5.png new file mode 100644 index 0000000000..026d08d678 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_5.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_6.png b/resources/g2/track/go_karts/steep_to_flat_up_2_6.png new file mode 100644 index 0000000000..158f7b723b Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_6.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_7.png b/resources/g2/track/go_karts/steep_to_flat_up_2_7.png new file mode 100644 index 0000000000..4e41048dbd Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_7.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_2_8.png b/resources/g2/track/go_karts/steep_to_flat_up_2_8.png new file mode 100644 index 0000000000..f93f37f22b Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_2_8.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_1.png b/resources/g2/track/go_karts/steep_to_flat_up_3_1.png new file mode 100644 index 0000000000..54d49a39a3 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_2.png b/resources/g2/track/go_karts/steep_to_flat_up_3_2.png new file mode 100644 index 0000000000..251476d353 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_3.png b/resources/g2/track/go_karts/steep_to_flat_up_3_3.png new file mode 100644 index 0000000000..1f51521480 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_3.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_4.png b/resources/g2/track/go_karts/steep_to_flat_up_3_4.png new file mode 100644 index 0000000000..cffd574a97 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_4.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_5.png b/resources/g2/track/go_karts/steep_to_flat_up_3_5.png new file mode 100644 index 0000000000..84f5762a77 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_5.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_6.png b/resources/g2/track/go_karts/steep_to_flat_up_3_6.png new file mode 100644 index 0000000000..1378344358 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_6.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_7.png b/resources/g2/track/go_karts/steep_to_flat_up_3_7.png new file mode 100644 index 0000000000..0eefcc6dad Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_7.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_3_8.png b/resources/g2/track/go_karts/steep_to_flat_up_3_8.png new file mode 100644 index 0000000000..291c8f2b30 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_3_8.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_1.png b/resources/g2/track/go_karts/steep_to_flat_up_4_1.png new file mode 100644 index 0000000000..6684e3e63e Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_2.png b/resources/g2/track/go_karts/steep_to_flat_up_4_2.png new file mode 100644 index 0000000000..693b5d735a Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_3.png b/resources/g2/track/go_karts/steep_to_flat_up_4_3.png new file mode 100644 index 0000000000..3937f2722e Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_3.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_4.png b/resources/g2/track/go_karts/steep_to_flat_up_4_4.png new file mode 100644 index 0000000000..e0efad6f47 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_4.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_5.png b/resources/g2/track/go_karts/steep_to_flat_up_4_5.png new file mode 100644 index 0000000000..c2f3c3601c Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_5.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_6.png b/resources/g2/track/go_karts/steep_to_flat_up_4_6.png new file mode 100644 index 0000000000..b111c18cce Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_6.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_7.png b/resources/g2/track/go_karts/steep_to_flat_up_4_7.png new file mode 100644 index 0000000000..011f0bf6e2 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_7.png differ diff --git a/resources/g2/track/go_karts/steep_to_flat_up_4_8.png b/resources/g2/track/go_karts/steep_to_flat_up_4_8.png new file mode 100644 index 0000000000..43d95b7381 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_flat_up_4_8.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_1_1.png b/resources/g2/track/go_karts/steep_to_gentle_up_1_1.png new file mode 100644 index 0000000000..12bc60f376 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_1_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_1_2.png b/resources/g2/track/go_karts/steep_to_gentle_up_1_2.png new file mode 100644 index 0000000000..4fcca51891 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_1_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_2_1.png b/resources/g2/track/go_karts/steep_to_gentle_up_2_1.png new file mode 100644 index 0000000000..1d5f3a5fde Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_2_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_2_2.png b/resources/g2/track/go_karts/steep_to_gentle_up_2_2.png new file mode 100644 index 0000000000..876955901a Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_2_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_3_1.png b/resources/g2/track/go_karts/steep_to_gentle_up_3_1.png new file mode 100644 index 0000000000..d6c2bf2c9e Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_3_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_3_2.png b/resources/g2/track/go_karts/steep_to_gentle_up_3_2.png new file mode 100644 index 0000000000..d783c072ec Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_3_2.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_4_1.png b/resources/g2/track/go_karts/steep_to_gentle_up_4_1.png new file mode 100644 index 0000000000..9eadbf0dd7 Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_4_1.png differ diff --git a/resources/g2/track/go_karts/steep_to_gentle_up_4_2.png b/resources/g2/track/go_karts/steep_to_gentle_up_4_2.png new file mode 100644 index 0000000000..c5ece4d6bc Binary files /dev/null and b/resources/g2/track/go_karts/steep_to_gentle_up_4_2.png differ diff --git a/src/openrct2/SpriteIds.h b/src/openrct2/SpriteIds.h index 5947f6d58d..68cb314acd 100644 --- a/src/openrct2/SpriteIds.h +++ b/src/openrct2/SpriteIds.h @@ -1596,7 +1596,9 @@ enum : ImageIndex SPR_G2_MINE_RIDE_END = SPR_G2_MINE_RIDE_TRACK_19471 + 1, SPR_G2_GO_KARTS_BEGIN = SPR_G2_MINE_RIDE_END, - SPR_G2_GO_KARTS_TRACK_SMALL_CURVE = SPR_G2_GO_KARTS_BEGIN, + SPR_G2_GO_KARTS_TRACK_STEEP = SPR_G2_GO_KARTS_BEGIN, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP = SPR_G2_GO_KARTS_TRACK_STEEP + 22, + SPR_G2_GO_KARTS_TRACK_SMALL_CURVE = SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 64, SPR_G2_GO_KARTS_TRACK_MEDIUM_CURVE = SPR_G2_GO_KARTS_TRACK_SMALL_CURVE + 32, SPR_G2_GO_KARTS_TRACK_LARGE_CURVE = SPR_G2_GO_KARTS_TRACK_MEDIUM_CURVE + 53, SPR_G2_GO_KARTS_TRACK_S_BEND = SPR_G2_GO_KARTS_TRACK_LARGE_CURVE + 82, diff --git a/src/openrct2/paint/track/thrill/GoKarts.cpp b/src/openrct2/paint/track/thrill/GoKarts.cpp index 9f84fc42f9..e47181c078 100644 --- a/src/openrct2/paint/track/thrill/GoKarts.cpp +++ b/src/openrct2/paint/track/thrill/GoKarts.cpp @@ -132,6 +132,139 @@ static constexpr uint32_t go_karts_track_pieces_25_deg_up_to_flat[4][2] = { { SPR_GO_KARTS_25_DEG_UP_TO_FLAT_SE_NW, SPR_GO_KARTS_25_DEG_UP_TO_FLAT_FRONT_SE_NW }, }; +static constexpr std::array, kNumOrthogonalDirections> kGoKartsUp60Sprites = { + SPR_G2_GO_KARTS_TRACK_STEEP + 16, + SPR_G2_GO_KARTS_TRACK_STEEP + 17, + kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_STEEP + 18, + kImageIndexUndefined, + SPR_G2_GO_KARTS_TRACK_STEEP + 19, + SPR_G2_GO_KARTS_TRACK_STEEP + 20, + SPR_G2_GO_KARTS_TRACK_STEEP + 21, +}; + +static constexpr std::array, kNumOrthogonalDirections> kGoKartsUp60BoundBoxes = { { + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 86 }, { 32, 28, 1 } } } }, + { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 4, 28, 0 }, { 24, 2, 77 } } } }, + { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 28, 4, 0 }, { 2, 24, 77 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 86 }, { 28, 32, 1 } } } }, +} }; + +static constexpr std::array, kNumOrthogonalDirections> kGoKartsUp25ToUp60Sprites = { + SPR_G2_GO_KARTS_TRACK_STEEP + 0, SPR_G2_GO_KARTS_TRACK_STEEP + 1, SPR_G2_GO_KARTS_TRACK_STEEP + 2, + SPR_G2_GO_KARTS_TRACK_STEEP + 3, SPR_G2_GO_KARTS_TRACK_STEEP + 4, SPR_G2_GO_KARTS_TRACK_STEEP + 5, + SPR_G2_GO_KARTS_TRACK_STEEP + 6, SPR_G2_GO_KARTS_TRACK_STEEP + 7, +}; + +static constexpr std::array, kNumOrthogonalDirections> kGoKartsUp25ToUp60BoundBoxes = { { + { { { { 0, 2, 0 }, { 32, 28, 0 } }, { { 0, 2, 54 }, { 32, 28, 1 } } } }, + { { { { 6, 0, 0 }, { 20, 32, 3 } }, { { 4, 28, 0 }, { 24, 2, 56 } } } }, + { { { { 0, 6, 0 }, { 32, 20, 3 } }, { { 28, 4, 0 }, { 2, 24, 56 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 0 } }, { { 2, 0, 54 }, { 28, 32, 1 } } } }, +} }; + +static constexpr std::array, kNumOrthogonalDirections> kGoKartsUp60ToUp25Sprites = { + SPR_G2_GO_KARTS_TRACK_STEEP + 8, SPR_G2_GO_KARTS_TRACK_STEEP + 9, SPR_G2_GO_KARTS_TRACK_STEEP + 10, + SPR_G2_GO_KARTS_TRACK_STEEP + 11, SPR_G2_GO_KARTS_TRACK_STEEP + 12, SPR_G2_GO_KARTS_TRACK_STEEP + 13, + SPR_G2_GO_KARTS_TRACK_STEEP + 14, SPR_G2_GO_KARTS_TRACK_STEEP + 15, +}; + +static constexpr std::array, 4>, kNumOrthogonalDirections> + kGoKartsFlatToUp60LongBaseSprites = { + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 0, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 1, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 2, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 3, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 4, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 5, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 6, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 7, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 8, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 9, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 10, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 11, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 12, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 13, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 14, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 15, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 16, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 17, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 18, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 19, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 20, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 21, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 22, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 23, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 24, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 25, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 26, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 27, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 28, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 29, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 30, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 31, + }; + +static constexpr std::array, 4>, kNumOrthogonalDirections> + kGoKartsFlatToUp60LongBaseBoundBoxes = { { + { { + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 30 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 38 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 46 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 70 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 30 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 38 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 46 }, { 28, 32, 1 } } } }, + { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 4, 28, -16 }, { 24, 2, 56 } } } }, + } }, + { { + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 30 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 38 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 46 }, { 32, 28, 1 } } } }, + { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 28, 4, -16 }, { 2, 24, 56 } } } }, + } }, + { { + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 30 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 46 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 46 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 70 }, { 28, 32, 1 } } } }, + } }, + } }; + +static constexpr std::array, 4>, kNumOrthogonalDirections> + kGoKartsUp60ToFlatLongBaseSprites = { + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 32, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 33, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 34, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 35, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 36, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 37, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 38, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 39, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 40, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 41, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 42, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 43, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 44, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 45, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 46, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 47, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 48, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 49, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 50, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 51, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 52, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 53, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 54, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 55, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 56, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 57, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 58, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 59, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 60, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 61, + SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 62, SPR_G2_GO_KARTS_TRACK_FLAT_TO_STEEP + 63, + }; + +static constexpr std::array, 4>, kNumOrthogonalDirections> + kGoKartsUp60ToFlatLongBaseBoundBoxes = { { + { { + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 70 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 70 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 46 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 30 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 4, 28, -16 }, { 24, 2, 56 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 70 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 46 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 30 }, { 28, 32, 1 } } } }, + } }, + { { + { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 28, 4, -16 }, { 2, 24, 56 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 70 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 46 }, { 32, 28, 1 } } } }, + { { { { 0, 2, 0 }, { 32, 28, 1 } }, { { 0, 2, 30 }, { 32, 28, 1 } } } }, + } }, + { { + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 70 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 70 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 46 }, { 28, 32, 1 } } } }, + { { { { 2, 0, 0 }, { 28, 32, 1 } }, { { 2, 0, 30 }, { 28, 32, 1 } } } }, + } }, + } }; + static constexpr std::array, 4>, kNumOrthogonalDirections> kGoKartsLeftQuarterTurn3TilesSprites = { SPR_G2_GO_KARTS_TRACK_SMALL_CURVE + 0, SPR_G2_GO_KARTS_TRACK_SMALL_CURVE + 1, SPR_G2_GO_KARTS_TRACK_SMALL_CURVE + 2, @@ -829,6 +962,171 @@ static void PaintGoKartsTrackRightQuarterTurn1Tile( PaintGoKartsTrackLeftQuarterTurn1Tile(session, ride, trackSequence, (direction + 3) % 4, height, trackElement, supportType); } +static void TrackUp60( + 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(kGoKartsUp60Sprites[direction][0]), height, { 0, 0, 0 }, + kGoKartsUp60BoundBoxes[direction][0]); + session.WoodenSupportsPrependTo = PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsUp60Sprites[direction][1]), height, { 0, 0, 0 }, + kGoKartsUp60BoundBoxes[direction][1]); + + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, + WoodenSupportTransitionType::Up60Deg); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else + { + PaintUtilPushTunnelRotated(session, direction, height + 56, kTunnelGroup, TunnelSubType::SlopeEnd); + } + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 104); +} + +static void TrackUp25ToUp60( + 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(kGoKartsUp25ToUp60Sprites[direction][0]), height, { 0, 0, 0 }, + kGoKartsUp25ToUp60BoundBoxes[direction][0]); + session.WoodenSupportsPrependTo = PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsUp25ToUp60Sprites[direction][1]), height, { 0, 0, 0 }, + kGoKartsUp25ToUp60BoundBoxes[direction][1]); + + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, + WoodenSupportTransitionType::Up25DegToUp60Deg); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else + { + PaintUtilPushTunnelRotated(session, direction, height + 24, kTunnelGroup, TunnelSubType::SlopeEnd); + } + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); +} + +static void TrackUp60ToUp25( + 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(kGoKartsUp60ToUp25Sprites[direction][0]), height, { 0, 0, 0 }, + kGoKartsUp25ToUp60BoundBoxes[direction][0]); + session.WoodenSupportsPrependTo = PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsUp60ToUp25Sprites[direction][1]), height, { 0, 0, 0 }, + kGoKartsUp25ToUp60BoundBoxes[direction][1]); + + WoodenASupportsPaintSetupRotated( + session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours, + WoodenSupportTransitionType::Up60DegToUp25Deg); + if (direction == 0 || direction == 3) + { + PaintUtilPushTunnelRotated(session, direction, height - 8, kTunnelGroup, TunnelSubType::SlopeStart); + } + else + { + PaintUtilPushTunnelRotated(session, direction, height + 24, kTunnelGroup, TunnelSubType::SlopeEnd); + } + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + PaintUtilSetGeneralSupportHeight(session, height + 72); +} + +static void TrackDown60( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackUp60(session, ride, trackSequence, DirectionReverse(direction), height, trackElement, supportType); +} + +static void TrackDown25ToDown60( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackUp60ToUp25(session, ride, trackSequence, DirectionReverse(direction), height, trackElement, supportType); +} + +static void TrackDown60ToDown25( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackUp25ToUp60(session, ride, trackSequence, DirectionReverse(direction), height, trackElement, supportType); +} + +static void TrackFlatToUp60LongBase( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const uint8_t direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsFlatToUp60LongBaseSprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsFlatToUp60LongBaseBoundBoxes[direction][trackSequence][0]); + session.WoodenSupportsPrependTo = PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsFlatToUp60LongBaseSprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsFlatToUp60LongBaseBoundBoxes[direction][trackSequence][1]); + + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::Flat); + } + else if (trackSequence == 3 && (direction == 1 || direction == 2)) + { + PaintUtilPushTunnelRotated(session, direction, height + 24, kTunnelGroup, TunnelSubType::SlopeEnd); + } + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + static constexpr std::array generalSupportHeights = { 48, 48, 64, 80 }; + PaintUtilSetGeneralSupportHeight(session, height + generalSupportHeights[trackSequence]); +} + +static void TrackUp60ToFlatLongBase( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const uint8_t direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsUp60ToFlatLongBaseSprites[direction][trackSequence][0]), height, + { 0, 0, 0 }, kGoKartsUp60ToFlatLongBaseBoundBoxes[direction][trackSequence][0]); + session.WoodenSupportsPrependTo = PaintAddImageAsParentHeight( + session, session.TrackColours.WithIndex(kGoKartsUp60ToFlatLongBaseSprites[direction][trackSequence][1]), height, + { 0, 0, 0 }, kGoKartsUp60ToFlatLongBaseBoundBoxes[direction][trackSequence][1]); + + DrawSupportForSequenceA( + session, supportType.wooden, trackSequence, direction, height, session.SupportColours); + if (trackSequence == 0 && (direction == 0 || direction == 3)) + { + PaintUtilPushTunnelRotated(session, direction, height, kTunnelGroup, TunnelSubType::SlopeStart); + } + else if (trackSequence == 3 && (direction == 1 || direction == 2)) + { + PaintUtilPushTunnelRotated(session, direction, height + 8, kTunnelGroup, TunnelSubType::Flat); + } + PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); + static constexpr std::array generalSupportHeights = { 80, 64, 48, 48 }; + PaintUtilSetGeneralSupportHeight(session, height + generalSupportHeights[trackSequence]); +} + +static void TrackFlatToDown60LongBase( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackUp60ToFlatLongBase(session, ride, 3 - trackSequence, DirectionReverse(direction), height, trackElement, supportType); +} + +static void TrackDown60ToFlatLongBase( + PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, + const TrackElement& trackElement, const SupportType supportType) +{ + TrackFlatToUp60LongBase(session, ride, 3 - trackSequence, DirectionReverse(direction), height, trackElement, supportType); +} + static void TrackLeftQuarterTurn3Tiles( PaintSession& session, const Ride& ride, const uint8_t trackSequence, const Direction direction, const int32_t height, const TrackElement& trackElement, const SupportType supportType) @@ -1095,6 +1393,30 @@ TrackPaintFunction GetTrackPaintFunctionGoKarts(OpenRCT2::TrackElemType trackTyp // Added by OpenRCT2 + // Steep + case TrackElemType::Up60: + return TrackUp60; + case TrackElemType::Up25ToUp60: + return TrackUp25ToUp60; + case TrackElemType::Up60ToUp25: + return TrackUp60ToUp25; + case TrackElemType::Down60: + return TrackDown60; + case TrackElemType::Down25ToDown60: + return TrackDown25ToDown60; + case TrackElemType::Down60ToDown25: + return TrackDown60ToDown25; + + // Flat to steep + case TrackElemType::FlatToUp60LongBase: + return TrackFlatToUp60LongBase; + case TrackElemType::Up60ToFlatLongBase: + return TrackUp60ToFlatLongBase; + case TrackElemType::FlatToDown60LongBase: + return TrackFlatToDown60LongBase; + case TrackElemType::Down60ToFlatLongBase: + return TrackDown60ToFlatLongBase; + // Small turns case TrackElemType::LeftQuarterTurn3Tiles: return TrackLeftQuarterTurn3Tiles; diff --git a/src/openrct2/park/Legacy.cpp b/src/openrct2/park/Legacy.cpp index 8d5ee4385b..0f731f1970 100644 --- a/src/openrct2/park/Legacy.cpp +++ b/src/openrct2/park/Legacy.cpp @@ -2930,6 +2930,16 @@ bool TrackTypeMustBeMadeInvisible(ride_type_t rideType, OpenRCT2::TrackElemType { switch (trackType) { + case TrackElemType::Up60: + case TrackElemType::Up25ToUp60: + case TrackElemType::Up60ToUp25: + case TrackElemType::Down60: + case TrackElemType::Down25ToDown60: + case TrackElemType::Down60ToDown25: + case TrackElemType::FlatToUp60LongBase: + case TrackElemType::Up60ToFlatLongBase: + case TrackElemType::FlatToDown60LongBase: + case TrackElemType::Down60ToFlatLongBase: case TrackElemType::LeftQuarterTurn3Tiles: case TrackElemType::RightQuarterTurn3Tiles: case TrackElemType::LeftQuarterTurn5Tiles: diff --git a/src/openrct2/ride/rtd/thrill/GoKarts.h b/src/openrct2/ride/rtd/thrill/GoKarts.h index 1196d4ec6a..f2d3a84b2e 100644 --- a/src/openrct2/ride/rtd/thrill/GoKarts.h +++ b/src/openrct2/ride/rtd/thrill/GoKarts.h @@ -24,7 +24,7 @@ constexpr RideTypeDescriptor GoKartsRTD = .trackStyle = TrackStyle::goKarts, .supportType = WoodenSupportType::Truss, .enabledTrackGroups = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::slope, TrackGroup::curveVerySmall, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::sBend}, - .extraTrackGroups = {}, + .extraTrackGroups = {TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeSteepLong}, }), .InvertedTrackPaintFunctions = {}, .Flags = EnumsToFlags(RtdFlag::hasTrackColourMain, RtdFlag::hasTrackColourSupports, RtdFlag::noTestMode, RtdFlag::hasOneStation,