From b948302dc6fdeeab2d839c5ceb0898eefd4d5cd4 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Tue, 14 Jul 2020 01:37:33 +0200 Subject: [PATCH] Use constants in gTrackCurveChain --- src/openrct2/ride/TrackData.cpp | 512 ++++++++++++++++---------------- 1 file changed, 256 insertions(+), 256 deletions(-) diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index 8bfb9e0626..92242fd3fe 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -3817,262 +3817,262 @@ const uint8_t TrackPieceLengths[TRACK_ELEM_COUNT] = { // rct2: 0x00998C95 const track_curve_chain gTrackCurveChain[TRACK_ELEM_COUNT] = { - { 0, 0 }, - { 257, 257 }, - { 257, 257 }, - { 257, 257 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 1 }, - { 2, 2 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 5, 5 }, - { 6, 6 }, - { 310, 0 }, - { 311, 0 }, - { 0, 308 }, - { 0, 309 }, - { 313, 0 }, - { 0, 312 }, - { 317, 0 }, - { 316, 0 }, - { 0, 315 }, - { 0, 314 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 323, 0 }, - { 323, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 343, 343 }, - { 344, 344 }, - { 345, 345 }, - { 346, 346 }, - { 347, 347 }, - { 348, 348 }, - { 349, 349 }, - { 350, 350 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 355, 355 }, - { 0, 0 }, - { 0, 0 }, - { 358, 358 }, - { 359, 359 }, - { 360, 360 }, - { 361, 361 }, - { 362, 362 }, - { 363, 363 }, - { 364, 364 }, - { 365, 365 }, - { 1, 1 }, - { 2, 2 }, - { 368, 368 }, - { 369, 369 }, - { 0, 0 }, - { 1, 1 }, - { 2, 2 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 381, 0 }, - { 381, 381 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 7, 7 }, - { 8, 8 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 7, 0 }, - { 8, 0 }, - { 0, 7 }, - { 0, 8 }, - { 0, 7 }, - { 0, 8 }, - { 7, 0 }, - { 8, 0 }, - { 0, 7 }, - { 0, 8 }, - { 7, 0 }, - { 8, 0 }, - { 7, 7 }, - { 8, 8 }, - { 0, 0 }, - { 0, 0 }, - { 432, 0 }, - { 433, 0 }, - { 0, 430 }, - { 0, 431 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 438, 438 }, - { 442, 0 }, - { 441, 0 }, - { 0, 440 }, - { 0, 439 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, - { 464, 0 }, - { 0, 463 }, - { 465, 465 }, - { 466, 466 }, - { 0, 0 }, - { 0, 0 }, - { 470, 381 }, - { 470, 470 }, - { 0, 470 }, - { 0, 0 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 1 }, - { 2, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 1, 0 }, - { 2, 0 }, - { 0, 1 }, - { 0, 2 }, - { 3, 3 }, - { 4, 4 }, - { 3, 3 }, - { 4, 4 }, - { 0, 0 }, - { 0, 0 }, - { 0, 0 }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION, RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION, RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION, RideConstructionSpecialPieceSelected | TRACK_ELEM_END_STATION }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_VERY_SMALL, TRACK_CURVE_LEFT_VERY_SMALL }, + { TRACK_CURVE_RIGHT_VERY_SMALL, TRACK_CURVE_RIGHT_VERY_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_HALF_LOOP_DOWN, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_HALF_LOOP_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CORKSCREW_DOWN, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CORKSCREW_DOWN, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CORKSCREW_UP }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CORKSCREW_UP }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_TOWER_SECTION, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_TOWER_SECTION, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES, RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_WATERFALL, RideConstructionSpecialPieceSelected | TRACK_ELEM_WATERFALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RAPIDS, RideConstructionSpecialPieceSelected | TRACK_ELEM_RAPIDS }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL, RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT_LARGE, TRACK_CURVE_LEFT_LARGE }, + { TRACK_CURVE_RIGHT_LARGE, TRACK_CURVE_RIGHT_LARGE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_POWERED_LIFT, RideConstructionSpecialPieceSelected | TRACK_ELEM_POWERED_LIFT }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CURVED_LIFT_HILL, RideConstructionSpecialPieceSelected | TRACK_ELEM_LEFT_CURVED_LIFT_HILL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CURVED_LIFT_HILL, RideConstructionSpecialPieceSelected | TRACK_ELEM_RIGHT_CURVED_LIFT_HILL }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_REVERSE_FREEFALL_VERTICAL }, + { RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN, RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN }, + { TRACK_CURVE_NONE, RideConstructionSpecialPieceSelected | TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_LEFT }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT, TRACK_CURVE_NONE }, + { TRACK_CURVE_RIGHT, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_LEFT }, + { TRACK_CURVE_NONE, TRACK_CURVE_RIGHT }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_LEFT_SMALL, TRACK_CURVE_LEFT_SMALL }, + { TRACK_CURVE_RIGHT_SMALL, TRACK_CURVE_RIGHT_SMALL }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, + { TRACK_CURVE_NONE, TRACK_CURVE_NONE }, }; // rct2: 0x00999095