From bed328503be27c285ca46f756adb64c144b7c842 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sun, 13 Dec 2015 15:33:01 +0000 Subject: [PATCH] Add remaining track types to acceleration function --- projects/openrct2.vcxproj.user | 8 +- src/ride/vehicle.c | 464 +++++++++++++++++++-------------- 2 files changed, 281 insertions(+), 191 deletions(-) diff --git a/projects/openrct2.vcxproj.user b/projects/openrct2.vcxproj.user index e977faccec..4beb5eab50 100644 --- a/projects/openrct2.vcxproj.user +++ b/projects/openrct2.vcxproj.user @@ -7,18 +7,22 @@ $(TargetDir)\openrct2.exe WindowsLocalDebugger $(TargetDir) + + $(TargetDir) WindowsLocalDebugger $(TargetDir)\openrct2.exe - + + $(TargetDir) WindowsLocalDebugger $(TargetDir)\openrct2.exe - + + $(TargetDir) diff --git a/src/ride/vehicle.c b/src/ride/vehicle.c index 40685b68c1..c3e3ace4b6 100644 --- a/src/ride/vehicle.c +++ b/src/ride/vehicle.c @@ -3854,294 +3854,380 @@ void vehicle_get_g_forces(rct_vehicle *vehicle, int *verticalG, int *lateralG) _eax = (((sint64)_eax) * RCT2_ADDRESS(0x009A39C4, sint32)[vehicle->var_20]) >> 32; switch (vehicle->track_type >> 2) { - TRACK_ELEM_FLAT: - TRACK_ELEM_END_STATION: - TRACK_ELEM_BEGIN_STATION: - TRACK_ELEM_MIDDLE_STATION: - TRACK_ELEM_25_DEG_UP: - TRACK_ELEM_60_DEG_UP: // - TRACK_ELEM_25_DEG_DOWN: - TRACK_ELEM_60_DEG_DOWN: // - TRACK_ELEM_FLAT_TO_LEFT_BANK: - TRACK_ELEM_FLAT_TO_RIGHT_BANK: - TRACK_ELEM_LEFT_BANK_TO_FLAT: - TRACK_ELEM_RIGHT_BANK_TO_FLAT:// - TRACK_ELEM_LEFT_BANK: - TRACK_ELEM_RIGHT_BANK: - TRACK_ELEM_TOWER_BASE: - TRACK_ELEM_TOWER_SECTION: - TRACK_ELEM_FLAT_COVERED: - TRACK_ELEM_25_DEG_UP_COVERED: - TRACK_ELEM_60_DEG_UP_COVERED: - TRACK_ELEM_25_DEG_DOWN_COVERED: - TRACK_ELEM_60_DEG_DOWN_COVERED: - TRACK_ELEM_BRAKES: - TRACK_ELEM_ROTATION_CONTROL_TOGGLE: - TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP: - TRACK_ELEM_25_DEG_UP_LEFT_BANKED: - TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: - TRACK_ELEM_WATERFALL: - TRACK_ELEM_RAPIDS: - TRACK_ELEM_ON_RIDE_PHOTO: - TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: - TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: - TRACK_ELEM_WHIRLPOOL: - TRACK_ELEM_REVERSE_WHOA_BELLY_VERTICAL: - TRACK_ELEM_90_DEG_UP: - TRACK_ELEM_90_DEG_DOWN: - TRACK_ELEM_DIAG_FLAT: - TRACK_ELEM_DIAG_25_DEG_UP: - TRACK_ELEM_DIAG_60_DEG_UP: - TRACK_ELEM_DIAG_25_DEG_DOWN: - TRACK_ELEM_DIAG_60_DEG_DOWN: - TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: - TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: - TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: - TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: - TRACK_ELEM_DIAG_LEFT_BANK: - TRACK_ELEM_DIAG_RIGHT_BANK: - TRACK_ELEM_LOG_FLUME_REVERSER: - TRACK_ELEM_SPINNING_TUNNEL: - TRACK_ELEM_POWERED_LIFT: + case TRACK_ELEM_FLAT: + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + case TRACK_ELEM_25_DEG_UP: + case TRACK_ELEM_60_DEG_UP: // + case TRACK_ELEM_25_DEG_DOWN: + case TRACK_ELEM_60_DEG_DOWN: // + case TRACK_ELEM_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_RIGHT_BANK_TO_FLAT:// + case TRACK_ELEM_LEFT_BANK: + case TRACK_ELEM_RIGHT_BANK: + case TRACK_ELEM_TOWER_BASE: + case TRACK_ELEM_TOWER_SECTION: + case TRACK_ELEM_FLAT_COVERED: + case TRACK_ELEM_25_DEG_UP_COVERED: + case TRACK_ELEM_60_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_DOWN_COVERED: + case TRACK_ELEM_60_DEG_DOWN_COVERED: + case TRACK_ELEM_BRAKES: + case TRACK_ELEM_ROTATION_CONTROL_TOGGLE: + case TRACK_ELEM_INVERTED_90_DEG_UP_TO_FLAT_QUARTER_LOOP: + case TRACK_ELEM_25_DEG_UP_LEFT_BANKED: + case TRACK_ELEM_25_DEG_UP_RIGHT_BANKED: + case TRACK_ELEM_WATERFALL: + case TRACK_ELEM_RAPIDS: + case TRACK_ELEM_ON_RIDE_PHOTO: + case TRACK_ELEM_25_DEG_DOWN_LEFT_BANKED: + case TRACK_ELEM_25_DEG_DOWN_RIGHT_BANKED: + case TRACK_ELEM_WHIRLPOOL: + case TRACK_ELEM_REVERSE_WHOA_BELLY_VERTICAL: + case TRACK_ELEM_90_DEG_UP: + case TRACK_ELEM_90_DEG_DOWN: + case TRACK_ELEM_DIAG_FLAT: + case TRACK_ELEM_DIAG_25_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_DOWN: + case TRACK_ELEM_DIAG_FLAT_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_FLAT_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_FLAT: + case TRACK_ELEM_DIAG_LEFT_BANK: + case TRACK_ELEM_DIAG_RIGHT_BANK: + case TRACK_ELEM_LOG_FLUME_REVERSER: + case TRACK_ELEM_SPINNING_TUNNEL: + case TRACK_ELEM_POWERED_LIFT: + case TRACK_ELEM_MINI_GOLF_HOLE_A: + case TRACK_ELEM_MINI_GOLF_HOLE_B: + case TRACK_ELEM_MINI_GOLF_HOLE_C: + case TRACK_ELEM_MINI_GOLF_HOLE_D: + case TRACK_ELEM_MINI_GOLF_HOLE_E: + case TRACK_ELEM_LEFT_REVERSER: + case TRACK_ELEM_RIGHT_REVERSER: + case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN: + case TRACK_ELEM_BLOCK_BRAKES: + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_LEFT_QUATER_TURN_1_TILE_90_DEG_UP: + case TRACK_ELEM_RIGHT_QUATER_TURN_1_TILE_90_DEG_UP: + case TRACK_ELEM_LEFT_QUATER_TURN_1_TILE_90_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUATER_TURN_1_TILE_90_DEG_DOWN: //6d73FF break; - TRACK_ELEM_FLAT_TO_25_DEG_UP:// - TRACK_ELEM_25_DEG_DOWN_TO_FLAT:// - TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: - TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: - TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: - TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: - TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: + case TRACK_ELEM_FLAT_TO_25_DEG_UP:// + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT:// + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED: + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_LEFT_BANKED_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_RIGHT_BANKED_FLAT: + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_UP: + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_DOWN_TO_FLAT: //6d7509 break; - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP:// - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN:// - TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: - TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP:// + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN:// + case TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED: + case TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED: //6d7545 - break; - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP:// - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN:// - TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: - TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: + break; + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP:// + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN:// + case TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED: + case TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED: //6d7551 break; - TRACK_ELEM_25_DEG_UP_TO_FLAT:// - TRACK_ELEM_FLAT_TO_25_DEG_DOWN:// - TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: - TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: - TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: - TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: - TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: - TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: - TRACK_ELEM_CABLE_LIFT_HILL: + case TRACK_ELEM_25_DEG_UP_TO_FLAT:// + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN:// + case TRACK_ELEM_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED: + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED: + case TRACK_ELEM_CABLE_LIFT_HILL: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_LEFT_BANKED_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_RIGHT_BANKED_FLAT: + case TRACK_ELEM_LEFT_BANKED_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_BANKED_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_LEFT_BANKED_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_RIGHT_BANKED_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_FLAT_TO_LEFT_BANKED_25_DEG_DOWN: + case TRACK_ELEM_FLAT_TO_RIGHT_BANKED_25_DEG_DOWN: //6d7569 break; - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES:// - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: - TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: - TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: - TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES:// + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP: + case TRACK_ELEM_LEFT_TWIST_UP_TO_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP: + case TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_LEFT_FLYER_TWIST_UP: + case TRACK_ELEM_LEFT_FLYER_TWIST_DOWN: + case TRACK_ELEM_LEFT_HEARTLINE_ROLL: //6d7590 break; - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES:// - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: - TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: - TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: - TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: - TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES:// + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_TWIST_DOWN_TO_UP: + case TRACK_ELEM_RIGHT_TWIST_UP_TO_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED: + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP: + case TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN: + case TRACK_ELEM_RIGHT_FLYER_TWIST_UP: + case TRACK_ELEM_RIGHT_FLYER_TWIST_DOWN: + case TRACK_ELEM_RIGHT_HEARTLINE_ROLL: //6d75B7 break; - TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: - TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TRACK_ELEM_BANKED_LEFT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP: + case TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN: //6d75E1 break; - TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: - TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: + case TRACK_ELEM_BANKED_RIGHT_QUARTER_TURN_5_TILES: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE: + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP: + case TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN: //6d75F0 break; - TRACK_ELEM_S_BEND_LEFT: - TRACK_ELEM_S_BEND_LEFT_COVERED: + case TRACK_ELEM_S_BEND_LEFT: + case TRACK_ELEM_S_BEND_LEFT_COVERED: //6d75FF break; - TRACK_ELEM_S_BEND_RIGHT: - TRACK_ELEM_S_BEND_RIGHT_COVERED: + case TRACK_ELEM_S_BEND_RIGHT: + case TRACK_ELEM_S_BEND_RIGHT_COVERED: //6d7608 break; - TRACK_ELEM_LEFT_VERTICAL_LOOP: - TRACK_ELEM_RIGHT_VERTICAL_LOOP: + case TRACK_ELEM_LEFT_VERTICAL_LOOP: + case TRACK_ELEM_RIGHT_VERTICAL_LOOP: //6d7690 break; - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_LEFT_CURVED_LIFT_HILL: //6d7704 break; - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED: + case TRACK_ELEM_RIGHT_CURVED_LIFT_HILL: //6d7710 break; - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: - TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL: //6d7782 break; - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: - TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL: + case TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL: //6d778E break; - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: //6d779A break; - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: //6d77A3 break; - TRACK_ELEM_HALF_LOOP_UP: + case TRACK_ELEM_HALF_LOOP_UP: + case TRACK_ELEM_FLYER_HALF_LOOP_UP: //6d763E break; - TRACK_ELEM_HALF_LOOP_DOWN: + case TRACK_ELEM_HALF_LOOP_DOWN: + case TRACK_ELEM_FLYER_HALF_LOOP_DOWN: //6d7656 break; - TRACK_ELEM_LEFT_CORKSCREW_UP: - TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TRACK_ELEM_LEFT_CORKSCREW_UP: + case TRACK_ELEM_RIGHT_CORKSCREW_DOWN: + case TRACK_ELEM_LEFT_FLYER_CORKSCREW_UP: + case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_DOWN: //6d76AA break; - TRACK_ELEM_RIGHT_CORKSCREW_UP: - TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TRACK_ELEM_RIGHT_CORKSCREW_UP: + case TRACK_ELEM_LEFT_CORKSCREW_DOWN: + case TRACK_ELEM_RIGHT_FLYER_CORKSCREW_UP: + case TRACK_ELEM_LEFT_FLYER_CORKSCREW_DOWN: //6d76B9 break; - TRACK_ELEM_FLAT_TO_60_DEG_UP: - TRACK_ELEM_60_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_FLAT_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_DOWN_TO_FLAT: //6d747C break; - TRACK_ELEM_60_DEG_UP_TO_FLAT: - TRACK_ELEM_FLAT_TO_60_DEG_DOWN: - TRACK_ELEM_BRAKE_FOR_DROP: + case TRACK_ELEM_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN: + case TRACK_ELEM_BRAKE_FOR_DROP: //6d7488 break; - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: - TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE_60_DEG_DOWN: //6d7770 break; - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: - TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_UP: + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE_60_DEG_DOWN: //6d7779 break; - TRACK_ELEM_WATER_SPLASH: + case TRACK_ELEM_WATER_SPLASH: //6d7408 break; - TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: - TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: + case TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE: + case TRACK_ELEM_FLAT_TO_60_DEG_DOWN_LONG_BASE: //6d74F1 break; - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: - TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE: + case TRACK_ELEM_60_DEG_UP_TO_FLAT_LONG_BASE_122: //6d74FD break; - TRACK_ELEM_REVERSE_WHOA_BELLY_SLOPE: + case TRACK_ELEM_REVERSE_WHOA_BELLY_SLOPE: + case TRACK_ELEM_AIR_THRUST_VERTICAL_DOWN_TO_LEVEL: //6d7458 break; - TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: - TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: + case TRACK_ELEM_60_DEG_UP_TO_90_DEG_UP: + case TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN: //6d7515 break; - TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: - TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: + case TRACK_ELEM_90_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_60_DEG_DOWN_TO_90_DEG_DOWN: //6d7521 break; - TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: - TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_LEFT_EIGHTH_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_TO_ORTHOGONAL: //6d7575 break; - TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: - TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_TO_ORTHOGONAL: //6d759C break; - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: - TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_LEFT_EIGHTH_BANK_TO_ORTHOGONAL: //6d75C3 break; - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: - TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_DIAG: + case TRACK_ELEM_RIGHT_EIGHTH_BANK_TO_ORTHOGONAL: //6d75D2 break; - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_RIGHT_BANK: //6d7494 break; - TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_60_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_25_DEG_DOWN: //6D752D break; - TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: - TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_25_DEG_UP: + case TRACK_ELEM_DIAG_25_DEG_DOWN_TO_60_DEG_DOWN: //6D7539 break; - TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: - TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: - TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: - TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: - TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: - TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_LEFT_BANK: + case TRACK_ELEM_DIAG_25_DEG_UP_TO_RIGHT_BANK: + case TRACK_ELEM_DIAG_LEFT_BANK_TO_25_DEG_DOWN: + case TRACK_ELEM_DIAG_RIGHT_BANK_TO_25_DEG_DOWN: //6d755D break; - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: - TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_UP: + case TRACK_ELEM_DIAG_60_DEG_DOWN_TO_FLAT: //6D7464 break; - TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: - TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: + case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT: + case TRACK_ELEM_DIAG_FLAT_TO_60_DEG_DOWN: //6d7470 break; - TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: - TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: + case TRACK_ELEM_LEFT_BARREL_ROLL_UP_TO_DOWN: + case TRACK_ELEM_LEFT_BARREL_ROLL_DOWN_TO_UP: //6d7581 break; - TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: - TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: + case TRACK_ELEM_RIGHT_BARREL_ROLL_UP_TO_DOWN: + case TRACK_ELEM_RIGHT_BARREL_ROLL_DOWN_TO_UP: //6d75A8 break; - TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_LEFT_BANK_TO_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP: //6d771C break; - TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANK_TO_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP: //6D7746 break; - TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: + case TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_LEFT_BANK: //6D7731 break; - TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: + case TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN_TO_RIGHT_BANK: //6D775B break; - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_UP: + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_UP: //6d7666 break; - TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: - TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: + case TRACK_ELEM_RIGHT_LARGE_HALF_LOOP_DOWN: + case TRACK_ELEM_LEFT_LARGE_HALF_LOOP_DOWN: //6d767F break; - //187 - 255 + case TRACK_ELEM_HEARTLINE_TRANSFER_UP: + //6d74A0 + break; + case TRACK_ELEM_HEARTLINE_TRANSFER_DOWN: + //6D74CA + break; + case TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUATER_LOOP_DOWN: + case TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUATER_LOOP_DOWN: + case TRACK_ELEM_MULTIDIM_FLAT_TO_90_DEG_DOWN_QUATER_LOOP: + //6d762D + break; + case TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUATER_LOOP_UP: + case TRACK_ELEM_MULTIDIM_90_DEG_UP_TO_INVERTED_FLAT_QUATER_LOOP: + case 255: + //6D7614 + break; + case TRACK_ELEM_AIR_THRUST_TOP_CAP: + //6D744C + break; + case TRACK_ELEM_LEFT_BANKED_QUATER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUATER_TURN_3_TILE_25_DEG_DOWN: + //6d76C8 + break; + case TRACK_ELEM_RIGHT_BANKED_QUATER_TURN_3_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUATER_TURN_3_TILE_25_DEG_DOWN: + //6d76d7 + break; + case TRACK_ELEM_LEFT_BANKED_QUATER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_LEFT_BANKED_QUATER_TURN_5_TILE_25_DEG_DOWN: + //6D76E6 + break; + case TRACK_ELEM_RIGHT_BANKED_QUATER_TURN_5_TILE_25_DEG_UP: + case TRACK_ELEM_RIGHT_BANKED_QUATER_TURN_5_TILE_25_DEG_DOWN: + //6d76F5 + break; } int eax, ebx, ecx, edx, esi, edi, ebp;