Merge pull request #3231 from marijnvdwerf/use-structs

Clean up data use
This commit is contained in:
Duncan 2016-04-13 12:38:58 +01:00
commit 9edd48c4b8
12 changed files with 441 additions and 131 deletions

View File

@ -1578,7 +1578,7 @@ void viewport_track_paint_setup(uint8 direction, int height, rct_map_element *ma
if ((RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint16) & VIEWPORT_FLAG_TRACK_HEIGHTS) && dpi->zoom_level == 0) {
RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) = 0;
if (RCT2_ADDRESS(0x00999694, uint32)[trackType] & (1 << trackSequence)) {
uint16 ax = RCT2_GLOBAL(0x0097D21A + (ride->type * 8), uint8);
uint16 ax = RideData5[ride->type].z_offset;
uint32 ebx = 0x20381689 + (height + 8) / 16;
ebx += RCT2_GLOBAL(RCT2_ADDRESS_CONFIG_HEIGHT_MARKERS, uint16);
ebx -= RCT2_GLOBAL(0x01359208, uint16);

View File

@ -1902,7 +1902,7 @@ void peep_update_ride_sub_state_1(rct_peep* peep){
RCT2_GLOBAL(0xF1AECA, uint16) += 4;
if (xy_distance < RCT2_GLOBAL(0xF1AECA, uint16)){
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
}
sprite_move(x, y, z, (rct_sprite*)peep);
@ -2078,7 +2078,7 @@ void peep_update_ride_sub_state_1(rct_peep* peep){
* rct2: 0x0069321D
*/
static void peep_go_to_ride_exit(rct_peep* peep, rct_ride* ride, sint16 x, sint16 y, sint16 z, uint8 exit_direction){
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
sprite_move(x, y, z, (rct_sprite*)peep);
invalidate_sprite_2((rct_sprite*)peep);
@ -2537,7 +2537,7 @@ void peep_update_ride_sub_state_7(rct_peep* peep){
sint16 exit_y = y + vehicle_type->peep_loading_positions[(peep->var_37 + 1) * 2 + 2];
z *= 8;
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
if (ride->type == RIDE_TYPE_MOTION_SIMULATOR)
z += 15;
@ -2627,7 +2627,7 @@ static void peep_update_ride_sub_state_9(rct_peep* peep){
if (xy_distance >= 16){
sint16 z = ride->station_heights[peep->current_ride_station] * 8;
z += RCT2_ADDRESS(0x97D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
sprite_move(x, y, z, (rct_sprite*)peep);
invalidate_sprite_2((rct_sprite*)peep);
return;
@ -4005,7 +4005,7 @@ static bool peep_update_fixing_sub_state_14(bool firstRun, rct_peep *peep, rct_r
uint16 z = ride->station_heights[peep->current_ride_station] * 8;
if (xy_distance >= 16) {
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
}
sprite_move(x, y, z, (rct_sprite *) peep);
@ -5062,7 +5062,7 @@ static void peep_update_heading_to_inspect(rct_peep* peep){
int z = ride->station_heights[peep->current_ride_station] * 8;
if (delta_y < 20){
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
}
sprite_move(x, y, z, (rct_sprite*)peep);
@ -5175,7 +5175,7 @@ static void peep_update_answering(rct_peep* peep){
int z = ride->station_heights[peep->current_ride_station] * 8;
if (delta_y < 20){
z += RCT2_ADDRESS(0x0097D21C, uint8)[ride->type * 8];
z += RideData5[ride->type].z;
}
sprite_move(x, y, z, (rct_sprite*)peep);

View File

@ -2,6 +2,7 @@
#include "cable_lift.h"
#include "ride.h"
#include "track.h"
#include "ride_data.h"
static void cable_lift_update_moving_to_end_of_station(rct_vehicle *vehicle);
static void cable_lift_update_waiting_to_depart(rct_vehicle *vehicle);
@ -58,7 +59,7 @@ rct_vehicle *cable_lift_segment_create(int rideIndex, int x, int y, int z, int d
z = z * 8;
current->track_z = z;
z += RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
z += RideData5[ride->type].z_offset;
sprite_move(16, 16, z, (rct_sprite*)current);
current->track_type = (TRACK_ELEM_CABLE_LIFT_HILL << 2) | (current->sprite_direction >> 3);
@ -262,7 +263,7 @@ bool sub_6DF01A_loop(rct_vehicle* vehicle) {
unk.z += vehicle->track_z;
uint8 bx = 0;
unk.z += RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
unk.z += RideData5[ride->type].z_offset;
if (unk.x != unk_F64E20->x)
bx |= (1 << 0);
if (unk.y != unk_F64E20->y)
@ -348,7 +349,7 @@ bool sub_6DF21B_loop(rct_vehicle* vehicle) {
unk.z += vehicle->track_z;
uint8 bx = 0;
unk.z += RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
unk.z += RideData5[ride->type].z_offset;
if (unk.x != unk_F64E20->x)
bx |= (1 << 0);
if (unk.y != unk_F64E20->y)

View File

@ -4437,7 +4437,7 @@ rct_vehicle *vehicle_create_car(
vehicle->track_z = z;
vehicle->current_station = map_get_station(mapElement);
z += RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
z += RideData5[ride->type].z_offset;
vehicle->track_type = mapElement->properties.track.type << 2;
vehicle->track_progress = 0;
@ -4511,7 +4511,7 @@ rct_vehicle *vehicle_create_car(
vehicle->current_station = map_get_station(mapElement);
z = mapElement->base_height * 8;
z += RCT2_GLOBAL(0x0097D21A + (ride->type * 8), uint8);
z += RideData5[ride->type].z_offset;
sprite_move(x, y, z, (rct_sprite*)vehicle);
vehicle->track_type = (mapElement->properties.track.type << 2) | (vehicle->sprite_direction >> 3);
@ -5966,8 +5966,8 @@ foundRideEntry:
ride->price = 0;
ride->price_secondary = 0;
if (!(RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY)) {
ride->price = RCT2_GLOBAL(0x0097D4F0 + 0 + (ride->type * 8), uint8);
ride->price_secondary = RCT2_GLOBAL(0x0097D4F0 + 1 + (ride->type * 8), uint8);
ride->price = RideData4[ride->type].price;
ride->price_secondary = RideData4[ride->type].price_secondary;
if (rideEntry->shop_item == 255) {
if (!(RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_PARK_FREE_ENTRY)) {
@ -7427,7 +7427,7 @@ void ride_update_max_vehicles(int rideIndex)
return;
stationLength = (stationLength * 0x44180) - 0x16B2A;
int maxFriction = RCT2_GLOBAL(0x0097D21B + (ride->type * 8), uint8) << 8;
int maxFriction = RideData5[ride->type].max_friction << 8;
int maxCarsPerTrain = 1;
for (int numCars = rideEntry->max_cars_in_train; numCars > 0; numCars--) {
ride_entry_get_train_layout(ride->subtype, numCars, trainLayout);

View File

@ -987,101 +987,292 @@ const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_STYLE_C
{ 0, 0, 2, STR_ENTRANCE_NONE, 0x00000000, 0, } // RIDE_ENTRANCE_STYLE_NONE
};
// rct2: 0x0097D4F2
// rct2: 0x0097D4F0
const rct_ride_data_4 RideData4[91] = {
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_3, 0, 0, 0, 20, 20 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 20, 20 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 20, 20 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_SUMMER, 0, 0, 0, 10, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0, 0, 10, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_MONORAIL
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0, 0, 10, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_WATER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_BOAT_RIDE
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0, 0, 20, 20 }, // RIDE_TYPE_WOODEN_WILD_MOUSE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 15, 0 }, // RIDE_TYPE_STEEPLECHASE
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 0 }, // RIDE_TYPE_CAR_RIDE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 20, 20 }, // RIDE_TYPE_LAUNCHED_FREEFALL
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 10, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_OBSERVATION_TOWER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_DINGHY_SLIDE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0, 0, 10, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_TRANSPORT_RIDE | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_CHAIRLIFT
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 10, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_SUMMER, 0, 0, 0, 15, 0 }, // RIDE_TYPE_MAZE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 0 }, // RIDE_TYPE_SPIRAL_SLIDE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 20, 20 }, // RIDE_TYPE_GO_KARTS
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_LOG_FLUME
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0, 0, 15, 0 }, // RIDE_TYPE_RIVER_RAPIDS
{ RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_DODGEMS_BEAT, 0, 0, 0, 15, 0 }, // RIDE_TYPE_DODGEMS
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_PIRATES, 0, 0, 0, 15, 0 }, // RIDE_TYPE_PIRATE_SHIP
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 9, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 15, 0 }, // RIDE_TYPE_FOOD_STALL
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 12, 0 }, // RIDE_TYPE_1D
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 8, 0 }, // RIDE_TYPE_DRINK_STALL
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 15, 0 }, // RIDE_TYPE_1F
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 10, 0 }, // RIDE_TYPE_SHOP
{ RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_FAIRGROUND_ORGAN, 0, 0, 0, 9, 0 }, // RIDE_TYPE_MERRY_GO_ROUND
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 6, 25 }, // RIDE_TYPE_22
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 0, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 10, 0 }, // RIDE_TYPE_TOILETS
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 0 }, // RIDE_TYPE_FERRIS_WHEEL
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 0 }, // RIDE_TYPE_MOTION_SIMULATOR
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 0 }, // RIDE_TYPE_3D_CINEMA
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 5, 0 }, // RIDE_TYPE_TOP_SPIN
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 0 }, // RIDE_TYPE_SPACE_RINGS
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 10, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_LIFT
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 0, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 10, 0 }, // RIDE_TYPE_CASH_MACHINE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0, 0, 10, 0 }, // RIDE_TYPE_TWIST
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_HORROR, 0, 0, 0, 0, 0 }, // RIDE_TYPE_HAUNTED_HOUSE
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 15, 0 }, // RIDE_TYPE_FIRST_AID
{ RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_CIRCUS_SHOW, 0, 0, 0, 15, 0 }, // RIDE_TYPE_CIRCUS_SHOW
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_HORROR, 0, 0, 0, 20, 20 }, // RIDE_TYPE_GHOST_TRAIN
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0, 0, 20, 20 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 20 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_WILD_MOUSE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | (1 << 3) | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_3, 56, 0, 0, 20, 20 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 20 }, // RIDE_TYPE_38
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | (1 << 3) | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13 | RIDE_TYPE_FLAG4_15, MUSIC_STYLE_ROCK, 58, 0, 0, 20, 20 }, // RIDE_TYPE_FLYING_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_13 | (1 << 15), MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 20 }, // RIDE_TYPE_3A
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_VIRGINIA_REEL
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_WATER, 0, 0, 0, 15, 0 }, // RIDE_TYPE_SPLASH_BOATS
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_MINI_HELICOPTERS
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | (1 << 3) | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 64, 0, 0, 10, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_SUSPENDED_MONORAIL
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 20 }, // RIDE_TYPE_40
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 15, 20 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 10, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_MINI_GOLF
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_10 | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_3, 0, 0, 0, 20, 0 }, // RIDE_TYPE_GIGA_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 15, 0 }, // RIDE_TYPE_ROTO_DROP
{ RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 10, 0 }, // RIDE_TYPE_FLYING_SAUCERS
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_GENTLE, 0, 0, 0, 15, 0 }, // RIDE_TYPE_CROOKED_HOUSE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_MONORAIL_CYCLES
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0, 0, 20, 20 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0, 0, 20, 0 }, // RIDE_TYPE_WATER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0, 0, 20, 20 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0, 0, 15, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_EGYPTIAN, 0, 0, 0, 10, 0 }, // RIDE_TYPE_MAGIC_CARPET
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6, MUSIC_STYLE_WATER, 0, 0, 0, 10, 20 }, // RIDE_TYPE_SUBMARINE_RIDE
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_GENTLE, 0, 0, 0, 7, 0 }, // RIDE_TYPE_RIVER_RAFTS
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 0 }, // RIDE_TYPE_50
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0, 0, 12, 0 }, // RIDE_TYPE_ENTERPRISE
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 15, 0 }, // RIDE_TYPE_52
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 12, 0 }, // RIDE_TYPE_53
{ 0, MUSIC_STYLE_GENTLE, 0, 0, 0, 20, 20 }, // RIDE_TYPE_54
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_55
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 20, 20 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_SUMMER, 0, 0, 0, 20, 20 }, // RIDE_TYPE_MINI_ROLLER_COASTER
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0, 0, 20, 20 }, // RIDE_TYPE_MINE_RIDE
{ RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0, 0, 20, 20 }, // RIDE_TYPE_59
{ RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0, 0, 12, 7 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_3, 0, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MONORAIL
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_BOAT_RIDE
{ 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_STEEPLECHASE
{ 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_CAR_RIDE
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_OBSERVATION_TOWER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_DINGHY_SLIDE
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_TRANSPORT_RIDE | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_CHAIRLIFT
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MAZE
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_SPIRAL_SLIDE
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_GO_KARTS
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_LOG_FLUME
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_RIVER_RAPIDS
{ 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_DODGEMS_BEAT, 0, 0 }, // RIDE_TYPE_DODGEMS
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_PIRATES, 0, 0 }, // RIDE_TYPE_PIRATE_SHIP
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
{ 9, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_FOOD_STALL
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_1D
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_DRINK_STALL
{ 8, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_1F
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_SHOP
{ 10, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_FAIRGROUND_ORGAN, 0, 0 }, // RIDE_TYPE_MERRY_GO_ROUND
{ 9, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_22
{ 6, 25, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_TOILETS
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_FERRIS_WHEEL
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_MOTION_SIMULATOR
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_3D_CINEMA
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_TOP_SPIN
{ 5, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_SPACE_RINGS
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_LIFT
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_CASH_MACHINE
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_TWIST
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_HORROR, 0, 0 }, // RIDE_TYPE_HAUNTED_HOUSE
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_FIRST_AID
{ 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_CIRCUS_SHOW, 0, 0 }, // RIDE_TYPE_CIRCUS_SHOW
{ 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_HORROR, 0, 0 }, // RIDE_TYPE_GHOST_TRAIN
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_WILD_MOUSE
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_3 | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_3, 56, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_38
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_3 | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13 | RIDE_TYPE_FLAG4_15, MUSIC_STYLE_ROCK, 58, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_13 | RIDE_TYPE_FLAG4_15, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_3A
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_VIRGINIA_REEL
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_SPLASH_BOATS
{ 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MINI_HELICOPTERS
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_3 | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 64, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_40
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER
{ 15, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MINI_GOLF
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_10 | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_3, 0, 0 }, // RIDE_TYPE_GIGA_COASTER
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_ROTO_DROP
{ 15, 0, RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_FLYING_SAUCERS
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_CROOKED_HOUSE
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MONORAIL_CYCLES
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_TECHNO, 0, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_WATER_COASTER
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_EGYPTIAN, 0, 0 }, // RIDE_TYPE_MAGIC_CARPET
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6, MUSIC_STYLE_WATER, 0, 0 }, // RIDE_TYPE_SUBMARINE_RIDE
{ 10, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_6 | RIDE_TYPE_FLAG4_14, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_RIVER_RAFTS
{ 7, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_50
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SINGLE_SESSION | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0 }, // RIDE_TYPE_ENTERPRISE
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_52
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_53
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0, 0 }, // RIDE_TYPE_54
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_55
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_SUMMER, 0, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_WILD_WEST, 0, 0 }, // RIDE_TYPE_MINE_RIDE
{ 20, 20, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK_STYLE_2, 0, 0 }, // RIDE_TYPE_59
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_PEEP_CHECK_GFORCES | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_11 | RIDE_TYPE_FLAG4_13, MUSIC_STYLE_ROCK, 0, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
};
// rct2: 0x0097DD78
const ride_cost RideTrackCosts[91] = {
{ 70, 5 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER
{ 100, 5 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER
{ 95, 5 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER
{ 110, 5 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER
{ 45, 4 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
{ 35, 6 }, // RIDE_TYPE_MINIATURE_RAILWAY
{ 42, 5 }, // RIDE_TYPE_MONORAIL
{ 60, 5 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
{ 55, 5 }, // RIDE_TYPE_BOAT_RIDE
{ 50, 6 }, // RIDE_TYPE_WOODEN_WILD_MOUSE
{ 57, 4 }, // RIDE_TYPE_STEEPLECHASE
{ 25, 5 }, // RIDE_TYPE_CAR_RIDE
{ 50, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL
{ 80, 5 }, // RIDE_TYPE_BOBSLEIGH_COASTER
{ 37, 0 }, // RIDE_TYPE_OBSERVATION_TOWER
{ 90, 5 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER
{ 40, 4 }, // RIDE_TYPE_DINGHY_SLIDE
{ 82, 6 }, // RIDE_TYPE_MINE_TRAIN_COASTER
{ 65, 1 }, // RIDE_TYPE_CHAIRLIFT
{ 105, 5 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
{ 55, 2 }, // RIDE_TYPE_MAZE
{ 165, 2 }, // RIDE_TYPE_SPIRAL_SLIDE
{ 62, 4 }, // RIDE_TYPE_GO_KARTS
{ 45, 5 }, // RIDE_TYPE_LOG_FLUME
{ 62, 6 }, // RIDE_TYPE_RIVER_RAPIDS
{ 55, 2 }, // RIDE_TYPE_DODGEMS
{ 155, 2 }, // RIDE_TYPE_PIRATE_SHIP
{ 212, 2 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
{ 600, 0 }, // RIDE_TYPE_FOOD_STALL
{ 700, 0 }, // RIDE_TYPE_1D
{ 500, 0 }, // RIDE_TYPE_DRINK_STALL
{ 600, 0 }, // RIDE_TYPE_1F
{ 400, 0 }, // RIDE_TYPE_SHOP
{ 115, 2 }, // RIDE_TYPE_MERRY_GO_ROUND
{ 500, 0 }, // RIDE_TYPE_22
{ 500, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
{ 450, 0 }, // RIDE_TYPE_TOILETS
{ 225, 2 }, // RIDE_TYPE_FERRIS_WHEEL
{ 220, 2 }, // RIDE_TYPE_MOTION_SIMULATOR
{ 140, 2 }, // RIDE_TYPE_3D_CINEMA
{ 145, 2 }, // RIDE_TYPE_TOP_SPIN
{ 72, 2 }, // RIDE_TYPE_SPACE_RINGS
{ 200, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER
{ 39, 0 }, // RIDE_TYPE_LIFT
{ 120, 5 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
{ 400, 0 }, // RIDE_TYPE_CASH_MACHINE
{ 90, 2 }, // RIDE_TYPE_TWIST
{ 85, 2 }, // RIDE_TYPE_HAUNTED_HOUSE
{ 500, 0 }, // RIDE_TYPE_FIRST_AID
{ 125, 2 }, // RIDE_TYPE_CIRCUS_SHOW
{ 26, 5 }, // RIDE_TYPE_GHOST_TRAIN
{ 120, 5 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER
{ 75, 7 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER
{ 55, 6 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
{ 55, 4 }, // RIDE_TYPE_WILD_MOUSE
{ 180, 5 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
{ 180, 5 }, // RIDE_TYPE_38
{ 125, 5 }, // RIDE_TYPE_FLYING_ROLLER_COASTER
{ 125, 5 }, // RIDE_TYPE_3A
{ 53, 6 }, // RIDE_TYPE_VIRGINIA_REEL
{ 57, 5 }, // RIDE_TYPE_SPLASH_BOATS
{ 25, 5 }, // RIDE_TYPE_MINI_HELICOPTERS
{ 107, 5 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
{ 65, 5 }, // RIDE_TYPE_SUSPENDED_MONORAIL
{ 107, 5 }, // RIDE_TYPE_40
{ 55, 6 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER
{ 135, 7 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
{ 50, 7 }, // RIDE_TYPE_MINI_GOLF
{ 120, 5 }, // RIDE_TYPE_GIGA_COASTER
{ 55, 0 }, // RIDE_TYPE_ROTO_DROP
{ 70, 4 }, // RIDE_TYPE_FLYING_SAUCERS
{ 65, 2 }, // RIDE_TYPE_CROOKED_HOUSE
{ 20, 5 }, // RIDE_TYPE_MONORAIL_CYCLES
{ 100, 5 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER
{ 55, 4 }, // RIDE_TYPE_WATER_COASTER
{ 200, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER
{ 67, 4 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER
{ 198, 2 }, // RIDE_TYPE_MAGIC_CARPET
{ 70, 0 }, // RIDE_TYPE_SUBMARINE_RIDE
{ 40, 5 }, // RIDE_TYPE_RIVER_RAFTS
{ 525, 0 }, // RIDE_TYPE_50
{ 100, 2 }, // RIDE_TYPE_ENTERPRISE
{ 500, 0 }, // RIDE_TYPE_52
{ 520, 0 }, // RIDE_TYPE_53
{ 420, 0 }, // RIDE_TYPE_54
{ 105, 5 }, // RIDE_TYPE_55
{ 125, 5 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER
{ 65, 4 }, // RIDE_TYPE_MINI_ROLLER_COASTER
{ 85, 4 }, // RIDE_TYPE_MINE_RIDE
{ 55, 4 }, // RIDE_TYPE_59
{ 95, 5 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
};
// 0x0097D218
const rct_ride_data_5 RideData5[91] = {
{ 19, 24, 9, 31, 11, 50, 85, 0 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER
{ 25, 24, 9, 18, 11, 50, 90, 0 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER
{ 24, 40, 29, 26, 8, 50, 90, 0 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER
{ 38, 40, 29, 27, 8, 50, 100, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER
{ 12, 24, 4, 10, 7, 40, 60, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
{ 7, 32, 5, 39, 9, 50, 50, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY
{ 8, 32, 8, 78, 9, 50, 60, 0 }, // RIDE_TYPE_MONORAIL
{ 10, 24, 24, 3, 8, 40, 50, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
{ 255, 16, 0, 255, 3, 5, 40, 0 }, // RIDE_TYPE_BOAT_RIDE
{ 14, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_WOODEN_WILD_MOUSE
{ 14, 24, 7, 4, 7, 40, 60, 0 }, // RIDE_TYPE_STEEPLECHASE
{ 6, 24, 4, 2, 7, 30, 50, 0 }, // RIDE_TYPE_CAR_RIDE
{ 255, 32, 3, 15, 2, 4, 65, 0 }, // RIDE_TYPE_LAUNCHED_FREEFALL
{ 19, 24, 5, 25, 7, 45, 75, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER
{ 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_OBSERVATION_TOWER
{ 35, 24, 5, 18, 7, 50, 95, 0 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER
{ 15, 24, 5, 5, 7, 40, 55, 0 }, // RIDE_TYPE_DINGHY_SLIDE
{ 21, 24, 4, 15, 7, 50, 85, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER
{ 40, 32, 28, 18, 2, 30, 55, 0 }, // RIDE_TYPE_CHAIRLIFT
{ 28, 24, 8, 18, 11, 50, 100, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
{ 6, 24, 0, 18, 1, 8, 40, 0 }, // RIDE_TYPE_MAZE
{ 15, 128, 0, 255, 2, 1, 40, 0 }, // RIDE_TYPE_SPIRAL_SLIDE
{ 7, 24, 2, 255, 1, 20, 55, 0 }, // RIDE_TYPE_GO_KARTS
{ 9, 24, 7, 255, 9, 40, 65, 0 }, // RIDE_TYPE_LOG_FLUME
{ 9, 32, 14, 255, 15, 40, 70, 0 }, // RIDE_TYPE_RIVER_RAPIDS
{ 9, 48, 2, 255, 2, 1, 35, 0 }, // RIDE_TYPE_DODGEMS
{ 12, 112, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_PIRATE_SHIP
{ 15, 176, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_FOOD_STALL
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_1D
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_DRINK_STALL
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_1F
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_SHOP
{ 12, 64, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_MERRY_GO_ROUND
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_22
{ 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
{ 12, 32, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_TOILETS
{ 16, 176, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_FERRIS_WHEEL
{ 12, 64, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_MOTION_SIMULATOR
{ 12, 128, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_3D_CINEMA
{ 16, 112, 3, 255, 2, 1, 55, 0 }, // RIDE_TYPE_TOP_SPIN
{ 16, 48, 3, 255, 2, 1, 30, 0 }, // RIDE_TYPE_SPACE_RINGS
{ 255, 32, 4, 255, 7, 45, 70, 0 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER
{ 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_LIFT
{ 53, 24, 8, 25, 11, 42, 95, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
{ 12, 32, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_CASH_MACHINE
{ 12, 64, 3, 255, 2, 1, 40, 0 }, // RIDE_TYPE_TWIST
{ 16, 160, 3, 255, 2, 1, 22, 0 }, // RIDE_TYPE_HAUNTED_HOUSE
{ 12, 48, 0, 255, 0, 1, 5, 0 }, // RIDE_TYPE_FIRST_AID
{ 12, 128, 3, 255, 2, 1, 39, 0 }, // RIDE_TYPE_CIRCUS_SHOW
{ 8, 24, 6, 2, 7, 30, 50, 0 }, // RIDE_TYPE_GHOST_TRAIN
{ 54, 24, 8, 31, 9, 55, 120, 0 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER
{ 41, 24, 8, 15, 11, 50, 105, 0 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER
{ 15, 24, 4, 15, 11, 37, 65, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
{ 16, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_WILD_MOUSE
{ 40, 24, 8, 78, 11, 50, 100, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
{ 40, 24, 8, 78, 11, 50, 100, 0 }, // RIDE_TYPE_38
{ 30, 24, 8, 35, 11, 50, 100, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER
{ 30, 24, 8, 35, 11, 50, 100, 0 }, // RIDE_TYPE_3A
{ 14, 24, 6, 15, 7, 25, 50, 0 }, // RIDE_TYPE_VIRGINIA_REEL
{ 16, 24, 7, 255, 11, 30, 65, 0 }, // RIDE_TYPE_SPLASH_BOATS
{ 7, 24, 4, 2, 7, 30, 45, 0 }, // RIDE_TYPE_MINI_HELICOPTERS
{ 26, 24, 8, 25, 11, 50, 100, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
{ 12, 40, 32, 78, 8, 50, 60, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL
{ 26, 24, 8, 25, 11, 50, 100, 0 }, // RIDE_TYPE_40
{ 18, 24, 8, 15, 11, 37, 65, 0 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER
{ 22, 24, 15, 18, 9, 30, 35, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
{ 7, 32, 2, 255, 2, 20, 23, 0 }, // RIDE_TYPE_MINI_GOLF
{ 86, 24, 9, 31, 11, 55, 120, 0 }, // RIDE_TYPE_GIGA_COASTER
{ 255, 32, 3, 15, 2, 4, 45, 0 }, // RIDE_TYPE_ROTO_DROP
{ 9, 48, 2, 255, 2, 1, 35, 0 }, // RIDE_TYPE_FLYING_SAUCERS
{ 16, 96, 3, 255, 2, 1, 22, 0 }, // RIDE_TYPE_CROOKED_HOUSE
{ 5, 24, 8, 2, 7, 30, 45, 0 }, // RIDE_TYPE_MONORAIL_CYCLES
{ 27, 40, 29, 18, 8, 50, 80, 0 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER
{ 18, 24, 4, 13, 7, 40, 60, 0 }, // RIDE_TYPE_WATER_COASTER
{ 255, 32, 4, 255, 7, 45, 70, 0 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER
{ 16, 24, 24, 4, 7, 40, 55, 0 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER
{ 15, 176, 7, 255, 11, 1, 35, 0 }, // RIDE_TYPE_MAGIC_CARPET
{ 255, 16, 0, 255, 3, 5, 40, 0 }, // RIDE_TYPE_SUBMARINE_RIDE
{ 12, 24, 7, 255, 11, 30, 65, 0 }, // RIDE_TYPE_RIVER_RAFTS
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_50
{ 16, 160, 3, 255, 2, 1, 45, 0 }, // RIDE_TYPE_ENTERPRISE
{ 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_52
{ 12, 64, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_53
{ 12, 48, 0, 255, 0, 1, 15, 0 }, // RIDE_TYPE_54
{ 44, 24, 8, 18, 11, 50, 100, 0 }, // RIDE_TYPE_55
{ 45, 40, 29, 23, 8, 25, 75, 0 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER
{ 16, 24, 9, 10, 11, 40, 60, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER
{ 13, 24, 9, 27, 11, 40, 70, 0 }, // RIDE_TYPE_MINE_RIDE
{ 16, 24, 4, 4, 7, 40, 55, 0 }, // RIDE_TYPE_59
{ 35, 24, 5, 18, 7, 50, 95, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
};
// rct2: 0x00982358
const money8 DefaultShopItemPrice[SHOP_ITEM_COUNT] = {
MONEY(0,90), // SHOP_ITEM_BALLOON
@ -1409,3 +1600,98 @@ const rct_ride_lift_data RideLiftData[] = {
{ SOUND_LIFT_6, 4, 6 }, // (none)
{ 255, 4, 6 } // LIM Launched Roller Coaster
};
// rct2: 0x0097CD1E
const rating_tuple RideRatings[91] = {
{ 50, 30, 10 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_STAND_UP_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
{ 70, 6, -10 }, // RIDE_TYPE_MINIATURE_RAILWAY
{ 70, 6, -10 }, // RIDE_TYPE_MONORAIL
{ 50, 30, 10 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
{ 70, 6, 0 }, // RIDE_TYPE_BOAT_RIDE
{ 50, 30, 30 }, // RIDE_TYPE_WOODEN_WILD_MOUSE
{ 50, 30, 10 }, // RIDE_TYPE_STEEPLECHASE
{ 70, 10, 10 }, // RIDE_TYPE_CAR_RIDE
{ 50, 50, 10 }, // RIDE_TYPE_LAUNCHED_FREEFALL
{ 50, 30, 10 }, // RIDE_TYPE_BOBSLEIGH_COASTER
{ 80, 10, 0 }, // RIDE_TYPE_OBSERVATION_TOWER
{ 50, 30, 10 }, // RIDE_TYPE_LOOPING_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_DINGHY_SLIDE
{ 50, 30, 10 }, // RIDE_TYPE_MINE_TRAIN_COASTER
{ 70, 10, 0 }, // RIDE_TYPE_CHAIRLIFT
{ 50, 30, 10 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
{ 50, 0, 0 }, // RIDE_TYPE_MAZE
{ 50, 10, 0 }, // RIDE_TYPE_SPIRAL_SLIDE
{ 120, 20, 0 }, // RIDE_TYPE_GO_KARTS
{ 80, 34, 6 }, // RIDE_TYPE_LOG_FLUME
{ 72, 26, 6 }, // RIDE_TYPE_RIVER_RAPIDS
{ 40, 20, 0 }, // RIDE_TYPE_DODGEMS
{ 50, 30, 10 }, // RIDE_TYPE_PIRATE_SHIP
{ 50, 30, 10 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
{ 0, 0, 0 }, // RIDE_TYPE_FOOD_STALL
{ 0, 0, 0 }, // RIDE_TYPE_1D
{ 0, 0, 0 }, // RIDE_TYPE_DRINK_STALL
{ 0, 0, 0 }, // RIDE_TYPE_1F
{ 0, 0, 0 }, // RIDE_TYPE_SHOP
{ 50, 10, 0 }, // RIDE_TYPE_MERRY_GO_ROUND
{ 0, 0, 0 }, // RIDE_TYPE_22
{ 0, 0, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
{ 0, 0, 0 }, // RIDE_TYPE_TOILETS
{ 60, 20, 10 }, // RIDE_TYPE_FERRIS_WHEEL
{ 24, 20, 10 }, // RIDE_TYPE_MOTION_SIMULATOR
{ 20, 10, 0 }, // RIDE_TYPE_3D_CINEMA
{ 24, 20, 10 }, // RIDE_TYPE_TOP_SPIN
{ 12, 4, 4 }, // RIDE_TYPE_SPACE_RINGS
{ 44, 66, 10 }, // RIDE_TYPE_REVERSE_FREEFALL_COASTER
{ 80, 10, 0 }, // RIDE_TYPE_LIFT
{ 52, 38, 10 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
{ 0, 0, 0 }, // RIDE_TYPE_CASH_MACHINE
{ 40, 20, 10 }, // RIDE_TYPE_TWIST
{ 20, 10, 0 }, // RIDE_TYPE_HAUNTED_HOUSE
{ 0, 0, 0 }, // RIDE_TYPE_FIRST_AID
{ 20, 10, 0 }, // RIDE_TYPE_CIRCUS_SHOW
{ 70, 10, 10 }, // RIDE_TYPE_GHOST_TRAIN
{ 52, 36, 10 }, // RIDE_TYPE_TWISTER_ROLLER_COASTER
{ 52, 33, 8 }, // RIDE_TYPE_WOODEN_ROLLER_COASTER
{ 48, 28, 7 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
{ 50, 30, 30 }, // RIDE_TYPE_WILD_MOUSE
{ 50, 30, 10 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_38
{ 50, 30, 10 }, // RIDE_TYPE_FLYING_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_3A
{ 30, 15, 25 }, // RIDE_TYPE_VIRGINIA_REEL
{ 80, 34, 6 }, // RIDE_TYPE_SPLASH_BOATS
{ 70, 10, 10 }, // RIDE_TYPE_MINI_HELICOPTERS
{ 50, 30, 10 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
{ 70, 6, -10 }, // RIDE_TYPE_SUSPENDED_MONORAIL
{ 50, 30, 10 }, // RIDE_TYPE_40
{ 48, 28, 7 }, // RIDE_TYPE_REVERSER_ROLLER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_MINI_GOLF
{ 51, 32, 10 }, // RIDE_TYPE_GIGA_COASTER
{ 50, 50, 10 }, // RIDE_TYPE_ROTO_DROP
{ 50, 25, 0 }, // RIDE_TYPE_FLYING_SAUCERS
{ 15, 8, 0 }, // RIDE_TYPE_CROOKED_HOUSE
{ 50, 10, 10 }, // RIDE_TYPE_MONORAIL_CYCLES
{ 50, 30, 10 }, // RIDE_TYPE_COMPACT_INVERTED_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_WATER_COASTER
{ 44, 66, 10 }, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER
{ 50, 30, 30 }, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_MAGIC_CARPET
{ 70, 6, 0 }, // RIDE_TYPE_SUBMARINE_RIDE
{ 80, 34, 6 }, // RIDE_TYPE_RIVER_RAFTS
{ 0, 0, 0 }, // RIDE_TYPE_50
{ 50, 10, 0 }, // RIDE_TYPE_ENTERPRISE
{ 0, 0, 0 }, // RIDE_TYPE_52
{ 0, 0, 0 }, // RIDE_TYPE_53
{ 0, 0, 0 }, // RIDE_TYPE_54
{ 50, 30, 10 }, // RIDE_TYPE_55
{ 50, 30, 10 }, // RIDE_TYPE_INVERTED_IMPULSE_COASTER
{ 50, 30, 10 }, // RIDE_TYPE_MINI_ROLLER_COASTER
{ 60, 20, 10 }, // RIDE_TYPE_MINE_RIDE
{ 50, 30, 30 }, // RIDE_TYPE_59
{ 50, 30, 10 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
};

View File

@ -48,12 +48,30 @@ typedef struct {
} rct_shop_item_string_types;
typedef struct {
uint8 price;
uint8 price_secondary;
uint16 flags;
uint8 default_music;
uint8 var_3;
uint8 pad[4];
uint8 pad[2];
} rct_ride_data_4;
typedef struct {
uint16 track_price;
uint16 support_price;
} ride_cost;
typedef struct {
uint8 max_height;
uint8 clearance_height;
sint8 z_offset;
uint8 max_friction;
uint8 z;
uint8 price;
uint8 bonus_value; // Deprecated. Use rideBonusValue instead
uint8 pad;
} rct_ride_data_5;
typedef struct {
uint8 sound_id;
uint8 minimum_speed;
@ -97,6 +115,8 @@ extern const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_
extern const rct_ride_lift_data RideLiftData[91];
extern const rct_ride_data_4 RideData4[91];
extern const ride_cost RideTrackCosts[91];
extern const rct_ride_data_5 RideData5[91];
extern const money8 DefaultShopItemPrice[SHOP_ITEM_COUNT];
extern const rct_shop_item_string_types ShopItemStringIds[SHOP_ITEM_COUNT];
@ -107,4 +127,6 @@ extern const rct_ride_entry_vehicle CableLiftVehicle;
extern const uint16 RideFilmLength[3];
extern const uint16 RideCrookedHouseLength[1];
extern const rating_tuple RideRatings[91];
#endif

View File

@ -643,9 +643,9 @@ static void ride_ratings_calculate_value(rct_ride *ride)
return;
int value =
(((ride->excitement * RCT2_GLOBAL(0x0097CD1E + (ride->type * 6), sint16)) * 32) >> 15) +
(((ride->intensity * RCT2_GLOBAL(0x0097CD20 + (ride->type * 6), sint16)) * 32) >> 15) +
(((ride->nausea * RCT2_GLOBAL(0x0097CD22 + (ride->type * 6), sint16)) * 32) >> 15);
(((ride->excitement * RideRatings[ride->type].excitement) * 32) >> 15) +
(((ride->intensity * RideRatings[ride->type].intensity) * 32) >> 15) +
(((ride->nausea * RideRatings[ride->type].nausea) * 32) >> 15);
int monthsOld = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_YEAR, uint16) - ride->build_date;

View File

@ -3438,7 +3438,7 @@ money32 place_maze_design(uint8 flags, uint8 rideIndex, uint16 mazeEntry, sint16
uint8 supportZ = (z + 32) >> 3;
if (supportZ > mapElement->base_height) {
uint8 supportHeight = (supportZ - mapElement->base_height) / 2;
uint8 maxSupportHeight = RCT2_GLOBAL(0x0097D218 + (RIDE_TYPE_MAZE * 8), uint8);
uint8 maxSupportHeight = RideData5[RIDE_TYPE_MAZE].max_height;
if (supportHeight > maxSupportHeight) {
RCT2_GLOBAL(RCT2_ADDRESS_GAME_COMMAND_ERROR_TEXT, rct_string_id) = STR_TOO_HIGH_FOR_SUPPORTS;
return MONEY32_UNDEFINED;
@ -3474,7 +3474,7 @@ money32 place_maze_design(uint8 flags, uint8 rideIndex, uint16 mazeEntry, sint16
// Calculate price
money32 price = 0;
if (!(RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY)) {
price = RCT2_ADDRESS(0x0097DD78, money16)[ride->type * 2] * RCT2_GLOBAL(0x0099DBC8, money32);
price = RideTrackCosts[ride->type].track_price * RCT2_GLOBAL(0x0099DBC8, money32);
price = (price >> 17) * 10;
}
@ -4570,11 +4570,11 @@ static money32 track_place(int rideIndex, int type, int originX, int originY, in
int baseZ = (originZ + trackBlock->z) / 8;
int clearanceZ = trackBlock->var_07;
if (trackBlock->var_09 & (1 << 2) && RCT2_GLOBAL(0x0097D219 + (ride->type * 8), uint8) > 24){
if (trackBlock->var_09 & (1 << 2) && RideData5[ride->type].clearance_height > 24) {
clearanceZ += 24;
}
else{
clearanceZ += RCT2_GLOBAL(0x0097D219 + (ride->type * 8), uint8);
clearanceZ += RideData5[ride->type].clearance_height;
}
clearanceZ = (clearanceZ / 8) + baseZ;
@ -4718,7 +4718,7 @@ static money32 track_place(int rideIndex, int type, int originX, int originY, in
if (ride_height >= 0) {
int maxHeight = rideEntry->max_height;
if (maxHeight == 0) {
maxHeight = RCT2_GLOBAL(0x0097D218 + (ride->type * 8), uint8);
maxHeight = RideData5[ride->type].max_height;
}
ride_height /= 2;
if (ride_height > maxHeight && !(RCT2_GLOBAL(0x009D8150, uint8) & 1)) {
@ -4733,7 +4733,7 @@ static money32 track_place(int rideIndex, int type, int originX, int originY, in
support_height = 10;
}
cost += ((support_height / 2) * RCT2_ADDRESS(0x0097DD7A, uint16)[ride->type * 2]) * 5;
cost += ((support_height / 2) * RideTrackCosts[ride->type].support_price) * 5;
//6c56d3
@ -4873,7 +4873,7 @@ static money32 track_place(int rideIndex, int type, int originX, int originY, in
network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord);
}
money32 price = RCT2_ADDRESS(0x0097DD78, money16)[ride->type * 2];
money32 price = RideTrackCosts[ride->type].track_price;
price *= (rideTypeFlags & RIDE_TYPE_FLAG_FLAT_RIDE) ?
RCT2_ADDRESS(0x0099DE34, money32)[type] :
RCT2_ADDRESS(0x0099DA34, money32)[type];
@ -5092,7 +5092,7 @@ money32 track_remove(uint8 type, uint8 sequence, sint16 originX, sint16 originY,
support_height = 10;
}
cost += (support_height / 2) * RCT2_ADDRESS(0x0097DD7A, uint16)[ride->type * 2];
cost += (support_height / 2) * RideTrackCosts[ride->type].support_price;
if (!(flags & GAME_COMMAND_FLAG_APPLY))
continue;
@ -5153,7 +5153,7 @@ money32 track_remove(uint8 type, uint8 sequence, sint16 originX, sint16 originY,
}
}
money32 price = RCT2_ADDRESS(0x0097DD78, money16)[ride->type * 2];;
money32 price = RideTrackCosts[ride->type].track_price;
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_FLAT_RIDE)) {
price *= RCT2_ADDRESS(0x0099DE34, money32)[type];
}
@ -5264,7 +5264,7 @@ money32 set_maze_track(uint16 x, uint8 flags, uint8 direction, uint16 y, uint8 r
if (heightDifference >= 0 && !gCheatsDisableSupportLimits) {
heightDifference = heightDifference >> 1;
if (heightDifference > RCT2_GLOBAL(0x0097D218 + (RIDE_TYPE_MAZE * 8), uint8)) {
if (heightDifference > RideData5[RIDE_TYPE_MAZE].max_height) {
RCT2_GLOBAL(RCT2_ADDRESS_GAME_COMMAND_ERROR_TEXT, rct_string_id) = STR_TOO_HIGH_FOR_SUPPORTS;
return MONEY32_UNDEFINED;
}
@ -5293,7 +5293,7 @@ money32 set_maze_track(uint16 x, uint8 flags, uint8 direction, uint16 y, uint8 r
rct_ride *ride = get_ride(rideIndex);
money32 price = (((RCT2_ADDRESS(0x0097DD78, money16)[ride->type * 2] * RCT2_GLOBAL(0x0099DBC8, money32)) >> 16));
money32 price = (((RideTrackCosts[ride->type].track_price * RCT2_GLOBAL(0x0099DBC8, money32)) >> 16));
RCT2_GLOBAL(0x00F4413E, money32) = price / 2 * 10;
if (!(flags & GAME_COMMAND_FLAG_APPLY)) {

View File

@ -6917,7 +6917,7 @@ loc_6DAEB9:
);
sint16 x = vehicle->track_x + moveInfo->x;
sint16 y = vehicle->track_y + moveInfo->y;
sint16 z = vehicle->track_z + moveInfo->z + RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
sint16 z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset;
trackType = vehicle->track_type >> 2;
regs.ebx = 0;
@ -7226,7 +7226,7 @@ loc_6DBA33:;
sint16 x = vehicle->track_x + moveInfo->x;
sint16 y = vehicle->track_y + moveInfo->y;
sint16 z = vehicle->track_z + moveInfo->z + RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
sint16 z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset;
regs.ebx = 0;
if (x != unk_F64E20->x) { regs.ebx |= 1; }
@ -7559,7 +7559,7 @@ loc_6DC743:
// loc_6DC8A1
x = vehicle->track_x + moveInfo->x;
y = vehicle->track_y + moveInfo->y;
z = vehicle->track_z + moveInfo->z + RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset;
// Investigate redundant code
regs.ebx = 0;
@ -7699,7 +7699,7 @@ loc_6DCC2C:
moveInfo = vehicle_get_move_info(vehicle->var_CD, vehicle->track_type, vehicle->track_progress);
x = vehicle->track_x + moveInfo->x;
y = vehicle->track_y + moveInfo->y;
z = vehicle->track_z + moveInfo->z + RCT2_GLOBAL(0x0097D21A + (ride->type * 8), sint8);
z = vehicle->track_z + moveInfo->z + RideData5[ride->type].z_offset;
// Investigate redundant code
regs.ebx = 0;

View File

@ -34,6 +34,7 @@
#include "../ride/ride.h"
#include "../ride/track.h"
#include "../world/scenery.h"
#include "../ride/ride_data.h"
#define _window_new_ride_current_tab RCT2_GLOBAL(RCT2_ADDRESS_WINDOW_RIDE_LIST_SELECTED_TAB, uint8)
@ -911,13 +912,13 @@ static void window_new_ride_paint_ride_information(rct_window *w, rct_drawpixeli
if (!(RCT2_GLOBAL(RCT2_ADDRESS_PARK_FLAGS, uint32) & PARK_FLAGS_NO_MONEY)) {
// Get price of ride
int unk2 = RCT2_GLOBAL(0x0097CC68 + (item.type * 2), uint8);
money32 price = RCT2_GLOBAL(0x0097DD78 + (item.type * 4), uint16);
money32 price = RideTrackCosts[item.type].track_price;
if (ride_type_has_flag(item.type, RIDE_TYPE_FLAG_FLAT_RIDE)) {
price *= RCT2_ADDRESS(0x0099DE34, uint32)[unk2];
} else {
price *= RCT2_ADDRESS(0x0099DA34, uint32)[unk2];
}
price = (price >> 17) * 10 * RCT2_GLOBAL(0x0097D21D + (item.type * 8), uint8);
price = (price >> 17) * 10 * RideData5[item.type].price;
//
rct_string_id stringId = 1691;

View File

@ -2328,7 +2328,7 @@ static void sub_6CBCE2(
x = originX + offsetX;
y = originY + offsetY;
baseZ = (originZ + trackBlock->z) >> 3;
clearanceZ = ((trackBlock->var_07 + RCT2_GLOBAL(0x0097D219 + (ride->type * 8), uint8)) >> 3) + baseZ + 4;
clearanceZ = ((trackBlock->var_07 + RideData5[ride->type].clearance_height) >> 3) + baseZ + 4;
int tileX = x >> 5;
int tileY = y >> 5;

View File

@ -1682,7 +1682,7 @@ static money32 map_set_land_height(int flags, int x, int y, int height, int styl
int rideIndex = mapElement->properties.track.ride_index;
int maxHeight = get_ride_entry_by_ride(get_ride(rideIndex))->max_height;
if(maxHeight == 0)
maxHeight = RCT2_GLOBAL(0x97D218 + 8 * get_ride(rideIndex)->type, uint8);
maxHeight = RideData5[get_ride(rideIndex)->type].max_height;
int zDelta = mapElement->clearance_height - height;
if(zDelta >= 0 && zDelta/2 > maxHeight)
{