mirror of https://github.com/OpenRCT2/OpenRCT2.git
Name several ride construction flags, clean up ride_data.c, fix "mini coaster" boosters
This commit is contained in:
parent
f9be3c0046
commit
8333266ca5
|
@ -56,7 +56,7 @@ extern "C" {
|
|||
// This define specifies which version of network stream current build uses.
|
||||
// It is used for making sure only compatible builds get connected, even within
|
||||
// single OpenRCT2 version.
|
||||
#define NETWORK_STREAM_VERSION "19"
|
||||
#define NETWORK_STREAM_VERSION "20"
|
||||
#define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -217,8 +217,8 @@ static void ride_update(sint32 rideIndex);
|
|||
static void ride_update_vehicle_colours(sint32 rideIndex);
|
||||
static void ride_set_vehicle_colours_to_random_preset(rct_ride *ride, uint8 preset_index);
|
||||
void loc_6DDF9C(rct_ride *ride, rct_map_element *mapElement);
|
||||
bool sub_6CA2DF(sint32 *trackType, sint32 *trackDirection, sint32 *rideIndex, sint32 *edxRS16, sint32 *x, sint32 *y, sint32 *z, sint32 *properties);
|
||||
money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edxRS16, sint32 x, sint32 y, sint32 z);
|
||||
bool sub_6CA2DF(sint32 *trackType, sint32 *trackDirection, sint32 *rideIndex, sint32 *_liftHillAndAlternativeState, sint32 *x, sint32 *y, sint32 *z, sint32 *properties);
|
||||
money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 liftHillAndAlternativeState, sint32 x, sint32 y, sint32 z);
|
||||
static void ride_set_name_to_track_default(rct_ride * ride, rct_ride_entry * rideEntry);
|
||||
static void ride_set_name_to_vehicle_default(rct_ride * ride, rct_ride_entry * rideEntry);
|
||||
|
||||
|
@ -1343,11 +1343,11 @@ sint32 sub_6C683D(sint32* x, sint32* y, sint32* z, sint32 direction, sint32 type
|
|||
void ride_restore_provisional_track_piece()
|
||||
{
|
||||
if (_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK) {
|
||||
sint32 x, y, z, direction, type, rideIndex, edxRS16;
|
||||
if (sub_6CA2DF(&type, &direction, &rideIndex, &edxRS16, &x, &y, &z, NULL)) {
|
||||
sint32 x, y, z, direction, type, rideIndex, liftHillAndAlternativeState;
|
||||
if (sub_6CA2DF(&type, &direction, &rideIndex, &liftHillAndAlternativeState, &x, &y, &z, NULL)) {
|
||||
ride_construction_remove_ghosts();
|
||||
} else {
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, edxRS16, x, y, z);
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, liftHillAndAlternativeState, x, y, z);
|
||||
window_ride_construction_update_active_elements();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -942,6 +942,8 @@ extern const rct_ride_properties RideProperties[RIDE_TYPE_COUNT];
|
|||
#define TURN_MASK_3_ELEMENTS 0x0700
|
||||
#define TURN_MASK_4_PLUS_ELEMENTS 0xF800
|
||||
|
||||
#define CONSTRUCTION_LIFT_HILL_SELECTED 1
|
||||
|
||||
/** Helper macros until rides are stored in this module. */
|
||||
rct_ride *get_ride(sint32 index);
|
||||
rct_ride_entry *get_ride_entry(sint32 index);
|
||||
|
|
|
@ -1126,97 +1126,97 @@ const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_STYLE_C
|
|||
|
||||
// rct2: 0x0097D4F0, 0x0097D4F1, 0x0097D4F2, 0x0097D4F4, 0x0097D4F5
|
||||
const rct_ride_data_4 RideData4[RIDE_TYPE_COUNT] = {
|
||||
{ 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_WATER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_STEEPLECHASE
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_CAR_RIDE
|
||||
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MAZE
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SPIRAL_SLIDE
|
||||
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_GO_KARTS
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_LOG_FLUME
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_DODGEMS_BEAT, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_PIRATES, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
|
||||
{ 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FOOD_STALL
|
||||
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1D
|
||||
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_DRINK_STALL
|
||||
{ 8, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1F
|
||||
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_FAIRGROUND_ORGAN, 0 }, // RIDE_TYPE_MERRY_GO_ROUND
|
||||
{ 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_22
|
||||
{ 6, 25, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
|
||||
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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 }, // 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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 }, // 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
|
||||
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 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 }, // RIDE_TYPE_HAUNTED_HOUSE
|
||||
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 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 }, // RIDE_TYPE_CIRCUS_SHOW
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_0 | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_HORROR, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_WILD_MOUSE
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_ROCK, RIDE_TYPE_FLYING_ROLLER_COASTER_ALT }, // RIDE_TYPE_FLYING_ROLLER_COASTER
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT
|
||||
{ 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VIRGINIA_REEL
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_HELICOPTERS
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT
|
||||
{ 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_ALLOW_CABLE_LIFT_HILL | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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 }, // RIDE_TYPE_CROOKED_HOUSE
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_EGYPTIAN, 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_ALLOW_MORE_VEHICLES_THAN_STATION_FITS, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SUBMARINE_RIDE
|
||||
{ 10, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_RIVER_RAFTS
|
||||
{ 7, 0, 0, MUSIC_STYLE_GENTLE, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_ENTERPRISE
|
||||
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_52
|
||||
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_53
|
||||
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_INVERTED_ROLLER_COASTER
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINIATURE_RAILWAY
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINI_SUSPENDED_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_BOAT_RIDE
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_STEEPLECHASE
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_CAR_RIDE
|
||||
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_BOBSLEIGH_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_TRAIN_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MAZE
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SPIRAL_SLIDE
|
||||
{ 20, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_GO_KARTS
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_LOG_FLUME
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_DODGEMS_BEAT, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_PIRATES, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_SWINGING_INVERTER_SHIP
|
||||
{ 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FOOD_STALL
|
||||
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1D
|
||||
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_DRINK_STALL
|
||||
{ 8, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_1F
|
||||
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_FAIRGROUND_ORGAN, 0 }, // RIDE_TYPE_MERRY_GO_ROUND
|
||||
{ 9, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_22
|
||||
{ 6, 25, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_INFORMATION_KIOSK
|
||||
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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 }, // 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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 }, // 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
|
||||
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 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 }, // RIDE_TYPE_HAUNTED_HOUSE
|
||||
{ 0, 0, 0, MUSIC_STYLE_GENTLE, 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 }, // RIDE_TYPE_CIRCUS_SHOW
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_HORROR, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_WILD_MOUSE
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_ROCK, RIDE_TYPE_FLYING_ROLLER_COASTER_ALT }, // RIDE_TYPE_FLYING_ROLLER_COASTER
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT | RIDE_TYPE_FLAG4_START_CONSTRUCTION_INVERTED, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_FLYING_ROLLER_COASTER_ALT
|
||||
{ 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_VIRGINIA_REEL
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_HAS_AIR_TIME | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SPLASH_BOATS
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_MINI_HELICOPTERS
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE | 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_ALLOW_MULTIPLE_CIRCUITS | RIDE_TYPE_FLAG4_TRANSPORT_RIDE, MUSIC_STYLE_SUMMER, 0 }, // RIDE_TYPE_SUSPENDED_MONORAIL
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER_ALT
|
||||
{ 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 0 }, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
|
||||
{ 10, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_ALLOW_CABLE_LIFT_HILL | RIDE_TYPE_FLAG4_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_3, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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 }, // RIDE_TYPE_CROOKED_HOUSE
|
||||
{ 15, 0, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_TECHNO, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WATER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_EGYPTIAN, 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_ALLOW_MORE_VEHICLES_THAN_STATION_FITS, MUSIC_STYLE_WATER, 0 }, // RIDE_TYPE_SUBMARINE_RIDE
|
||||
{ 10, 20, RIDE_TYPE_FLAG4_ALLOW_MUSIC | RIDE_TYPE_FLAG4_HAS_ENTRANCE_EXIT | RIDE_TYPE_FLAG4_ALLOW_MORE_VEHICLES_THAN_STATION_FITS | RIDE_TYPE_FLAG4_SLIGHTLY_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_RIVER_RAFTS
|
||||
{ 7, 0, 0, MUSIC_STYLE_GENTLE, 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 0 }, // RIDE_TYPE_ENTERPRISE
|
||||
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_52
|
||||
{ 15, 0, 0, MUSIC_STYLE_GENTLE, 0 }, // RIDE_TYPE_53
|
||||
{ 12, 0, 0, MUSIC_STYLE_GENTLE, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_SUMMER, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_WILD_WEST, 0 }, // RIDE_TYPE_MINE_RIDE
|
||||
{ 20, 20, RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK | 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_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK_STYLE_2, 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_SHOW_IN_TRACK_DESIGNER | RIDE_TYPE_FLAG4_INTERESTING_TO_LOOK_AT, MUSIC_STYLE_ROCK, 0 }, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
|
||||
};
|
||||
|
||||
// rct2: 0x0097DD78
|
||||
|
@ -2409,7 +2409,7 @@ const rct_ride_properties RideProperties[RIDE_TYPE_COUNT] = {
|
|||
RIDE_TYPE_FLAG_HAS_DATA_LOGGING | RIDE_TYPE_FLAG_HAS_DROPS | RIDE_TYPE_FLAG_HAS_LOAD_OPTIONS |
|
||||
RIDE_TYPE_FLAG_PEEP_WILL_RIDE_AGAIN | RIDE_TYPE_FLAG_HAS_VEHICLE_COLOURS | RIDE_TYPE_FLAG_CHECK_FOR_STALLING | RIDE_TYPE_FLAG_HAS_TRACK | RIDE_TYPE_FLAG_HAS_LARGE_CURVES |
|
||||
RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR,
|
||||
0, 0, 0, 0, 0, 0 }, // RIDE_TYPE_MINI_ROLLER_COASTER
|
||||
0, 0, 0, 0, 68, 1 }, // RIDE_TYPE_MINI_ROLLER_COASTER
|
||||
{RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN | RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL |
|
||||
RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS | RIDE_TYPE_FLAG_HAS_LEAVE_WHEN_ANOTHER_VEHICLE_ARRIVES_AT_STATION |
|
||||
RIDE_TYPE_FLAG_CAN_SYNCHRONISE_ADJACENT_STATIONS | RIDE_TYPE_FLAG_HAS_G_FORCES |
|
||||
|
|
|
@ -103,7 +103,7 @@ typedef struct rct_ride_lift_data {
|
|||
} rct_ride_lift_data;
|
||||
|
||||
enum {
|
||||
RIDE_TYPE_FLAG4_0 = (1 << 0),
|
||||
RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK = (1 << 0),
|
||||
RIDE_TYPE_FLAG4_MUSIC_ON_DEFAULT = (1 << 1),
|
||||
RIDE_TYPE_FLAG4_ALLOW_MUSIC = (1 << 2),
|
||||
RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE = (1 << 3), // Used by the Flying RC, Lay-down RC, Multi-dimension RC
|
||||
|
|
|
@ -914,7 +914,7 @@ static bool track_remove_station_element(sint32 x, sint32 y, sint32 z, sint32 di
|
|||
return true;
|
||||
}
|
||||
|
||||
static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32 originY, sint32 originZ, sint32 direction, sint32 properties_1, sint32 properties_2, sint32 properties_3, sint32 edx_flags, sint32 flags)
|
||||
static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32 originY, sint32 originZ, sint32 direction, sint32 properties_1, sint32 properties_2, sint32 properties_3, sint32 liftHillAndAlternativeState, sint32 flags)
|
||||
{
|
||||
rct_ride *ride = get_ride(rideIndex);
|
||||
if (ride == NULL)
|
||||
|
@ -972,7 +972,7 @@ static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32
|
|||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
}
|
||||
if ((edx_flags & (1 << 0)) && !(enabledTrackPieces & (1ULL << TRACK_LIFT_HILL_STEEP)) && !gCheatsEnableChainLiftOnAllTrack) {
|
||||
if ((liftHillAndAlternativeState & CONSTRUCTION_LIFT_HILL_SELECTED) && !(enabledTrackPieces & (1ULL << TRACK_LIFT_HILL_STEEP)) && !gCheatsEnableChainLiftOnAllTrack) {
|
||||
if (TrackFlags[type] & TRACK_ELEM_FLAG_0400) {
|
||||
gGameCommandErrorText = STR_TOO_STEEP_FOR_LIFT_HILL;
|
||||
return MONEY32_UNDEFINED;
|
||||
|
@ -1306,7 +1306,7 @@ static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32
|
|||
case TRACK_ELEM_60_DEG_UP_TO_FLAT:
|
||||
case TRACK_ELEM_DIAG_25_DEG_UP_TO_FLAT:
|
||||
case TRACK_ELEM_DIAG_60_DEG_UP_TO_FLAT:
|
||||
if (!(edx_flags & 1))
|
||||
if (!(liftHillAndAlternativeState & CONSTRUCTION_LIFT_HILL_SELECTED))
|
||||
break;
|
||||
//Fall Through
|
||||
case TRACK_ELEM_CABLE_LIFT_HILL:
|
||||
|
@ -1336,7 +1336,7 @@ static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32
|
|||
|
||||
uint8 map_type = direction;
|
||||
map_type |= MAP_ELEMENT_TYPE_TRACK;
|
||||
if (edx_flags & 1){
|
||||
if (liftHillAndAlternativeState & CONSTRUCTION_LIFT_HILL_SELECTED){
|
||||
map_type |= (1 << 7);
|
||||
}
|
||||
mapElement->type = map_type;
|
||||
|
@ -1371,8 +1371,8 @@ static money32 track_place(sint32 rideIndex, sint32 type, sint32 originX, sint32
|
|||
}
|
||||
|
||||
uint8 colour = properties_2;
|
||||
if (edx_flags & (1 << 1)){
|
||||
colour |= (1 << 2);
|
||||
if (liftHillAndAlternativeState & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE){
|
||||
colour |= TRACK_ELEMENT_COLOUR_FLAG_INVERTED;
|
||||
}
|
||||
mapElement->properties.track.colour |= colour;
|
||||
|
||||
|
@ -2201,7 +2201,7 @@ sint32 track_get_actual_bank(rct_map_element *mapElement, sint32 bank)
|
|||
sint32 track_get_actual_bank_2(sint32 rideType, sint32 trackColour, sint32 bank)
|
||||
{
|
||||
if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) {
|
||||
if (trackColour & 4) {
|
||||
if (trackColour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) {
|
||||
if (bank == TRACK_BANK_NONE) {
|
||||
bank = TRACK_BANK_UPSIDE_DOWN;
|
||||
} else if (bank == TRACK_BANK_UPSIDE_DOWN) {
|
||||
|
|
|
@ -203,7 +203,7 @@ enum {
|
|||
TRACK_ELEM_FLAG_0400 = (1 << 10),
|
||||
TRACK_ELEM_FLAG_HELIX = (1 << 11),
|
||||
TRACK_ELEM_FLAG_1000 = (1 << 12),
|
||||
TRACK_ELEM_FLAG_2000 = (1 << 13),
|
||||
TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT = (1 << 13),
|
||||
TRACK_ELEM_FLAG_4000 = (1 << 14),
|
||||
TRACK_ELEM_FLAG_8000 = (1 << 15),
|
||||
};
|
||||
|
|
|
@ -32971,10 +32971,10 @@ const uint16 FlatTrackFlags[] = {
|
|||
/* */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000,
|
||||
/* */ TRACK_ELEM_FLAG_8000,
|
||||
/* */ TRACK_ELEM_FLAG_8000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ 0,
|
||||
/* */ 0,
|
||||
/* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000,
|
||||
|
@ -32983,10 +32983,10 @@ const uint16 FlatTrackFlags[] = {
|
|||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_LEFT,
|
||||
/* */ TRACK_ELEM_FLAG_TURN_RIGHT,
|
||||
/* */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000,
|
||||
|
@ -33229,10 +33229,10 @@ const uint16 TrackFlags[] = {
|
|||
/* TRACK_ELEM_25_DEG_DOWN_TO_RIGHT_BANK */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_8000,
|
||||
/* TRACK_ELEM_LEFT_BANK */ TRACK_ELEM_FLAG_8000,
|
||||
/* TRACK_ELEM_RIGHT_BANK */ TRACK_ELEM_FLAG_8000,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_S_BEND_LEFT */ 0,
|
||||
/* TRACK_ELEM_S_BEND_RIGHT */ 0,
|
||||
/* TRACK_ELEM_LEFT_VERTICAL_LOOP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_4000,
|
||||
|
@ -33241,10 +33241,10 @@ const uint16 TrackFlags[] = {
|
|||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES */ TRACK_ELEM_FLAG_TURN_RIGHT,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_BANK */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_BANKED | TRACK_ELEM_FLAG_8000,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_2000,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_UP */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_LEFT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_25_DEG_DOWN */ TRACK_ELEM_FLAG_TURN_RIGHT | TRACK_ELEM_FLAG_TURN_SLOPED | TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_0100 | TRACK_ELEM_FLAG_1000 | TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT,
|
||||
/* TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_LEFT,
|
||||
/* TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE */ TRACK_ELEM_FLAG_TURN_RIGHT,
|
||||
/* TRACK_ELEM_LEFT_TWIST_DOWN_TO_UP */ TRACK_ELEM_FLAG_INVERSION | TRACK_ELEM_FLAG_4000,
|
||||
|
|
|
@ -7410,7 +7410,7 @@ loc_6DB358:
|
|||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11;
|
||||
sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type;
|
||||
if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) {
|
||||
if (mapElement->properties.track.colour & 4) {
|
||||
if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) {
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11;
|
||||
}
|
||||
}
|
||||
|
@ -7756,7 +7756,7 @@ static bool vehicle_update_track_motion_backwards_get_new_track(rct_vehicle *veh
|
|||
// Update VEHICLE_UPDATE_FLAG_11
|
||||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11;
|
||||
if (RideData4[ride->type].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) {
|
||||
if (mapElement->properties.track.colour & 4) {
|
||||
if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) {
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11;
|
||||
}
|
||||
}
|
||||
|
@ -8124,7 +8124,7 @@ loc_6DC476:
|
|||
sint32 rideType = get_ride(mapElement->properties.track.ride_index)->type;
|
||||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11;
|
||||
if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) {
|
||||
if (mapElement->properties.track.colour & (1 << 2)) {
|
||||
if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) {
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11;
|
||||
}
|
||||
}
|
||||
|
@ -8341,7 +8341,7 @@ loc_6DCA9A:
|
|||
rideType = get_ride(mapElement->properties.track.ride_index)->type;
|
||||
vehicle->update_flags &= ~VEHICLE_UPDATE_FLAG_11;
|
||||
if (RideData4[rideType].flags & RIDE_TYPE_FLAG4_HAS_ALTERNATIVE_TRACK_TYPE) {
|
||||
if (mapElement->properties.track.colour & (1 << 2)) {
|
||||
if (mapElement->properties.track.colour & TRACK_ELEMENT_COLOUR_FLAG_INVERTED) {
|
||||
vehicle->update_flags |= VEHICLE_UPDATE_FLAG_11;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -441,17 +441,7 @@ rct_string_id RideConfigurationStringIds[] = {
|
|||
|
||||
#pragma endregion
|
||||
|
||||
#pragma pack(push, 1)
|
||||
union {
|
||||
uint64 ab;
|
||||
struct {
|
||||
uint32 a;
|
||||
uint32 b;
|
||||
};
|
||||
} _enabledRidePieces;
|
||||
assert_struct_size(_enabledRidePieces, 8);
|
||||
#pragma pack(pop)
|
||||
|
||||
uint64 _enabledRidePieces;
|
||||
static bool _trackPlaceCtrlState;
|
||||
static sint32 _trackPlaceCtrlZ;
|
||||
static bool _trackPlaceShiftState;
|
||||
|
@ -483,7 +473,7 @@ static void window_ride_construction_draw_track_piece(
|
|||
sint32 width, sint32 height
|
||||
);
|
||||
static void window_ride_construction_update_enabled_track_pieces();
|
||||
bool sub_6CA2DF(sint32 *trackType, sint32 *trackDirection, sint32 *rideIndex, sint32 *edxRS16, sint32 *x, sint32 *y, sint32 *z, sint32 *properties);
|
||||
bool sub_6CA2DF(sint32 *trackType, sint32 *trackDirection, sint32 *rideIndex, sint32 *_liftHillAndAlternativeState, sint32 *x, sint32 *y, sint32 *z, sint32 *properties);
|
||||
static void sub_6CBCE2(
|
||||
sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edx,
|
||||
sint32 originX, sint32 originY, sint32 originZ
|
||||
|
@ -492,7 +482,7 @@ static void window_ride_construction_update_map_selection();
|
|||
static void window_ride_construction_update_possible_ride_configurations();
|
||||
static void window_ride_construction_update_widgets(rct_window *w);
|
||||
static void window_ride_construction_select_map_tiles(rct_ride *ride, sint32 trackType, sint32 trackDirection, sint32 x, sint32 y);
|
||||
money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edxRS16, sint32 x, sint32 y, sint32 z);
|
||||
money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 liftHillAndAlternativeState, sint32 x, sint32 y, sint32 z);
|
||||
static void window_ride_construction_show_special_track_dropdown(rct_window *w, rct_widget *widget);
|
||||
static void ride_selected_track_set_seat_rotation(sint32 seatRotation);
|
||||
static void loc_6C7502(sint32 al);
|
||||
|
@ -522,7 +512,7 @@ static const rct_string_id RideConstructionSeatAngleRotationStrings[] = {
|
|||
|
||||
static bool is_track_enabled(sint32 trackFlagIndex)
|
||||
{
|
||||
return _enabledRidePieces.ab & (1ULL << trackFlagIndex);
|
||||
return _enabledRidePieces & (1ULL << trackFlagIndex);
|
||||
}
|
||||
|
||||
static sint32 ride_get_alternative_type(rct_ride *ride)
|
||||
|
@ -1122,7 +1112,7 @@ static void window_ride_construction_resize(rct_window *w)
|
|||
if (_currentTrackCurve != TRACK_CURVE_NONE && _currentTrackSlopeEnd == TRACK_SLOPE_DOWN_60) {
|
||||
disabledWidgets |= (1ULL << WIDX_SLOPE_DOWN);
|
||||
}
|
||||
if ((_currentTrackLiftHill & 1) && !gCheatsEnableChainLiftOnAllTrack) {
|
||||
if ((_currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED) && !gCheatsEnableChainLiftOnAllTrack) {
|
||||
if (_currentTrackSlopeEnd != TRACK_SLOPE_NONE && !is_track_enabled(TRACK_LIFT_HILL_CURVE)) {
|
||||
disabledWidgets |=
|
||||
(1ULL << WIDX_LEFT_CURVE_SMALL) |
|
||||
|
@ -1523,8 +1513,8 @@ static void window_ride_construction_mousedown(rct_widgetindex widgetIndex, rct_
|
|||
break;
|
||||
case WIDX_CHAIN_LIFT:
|
||||
ride_construction_invalidate_current_track();
|
||||
_currentTrackLiftHill ^= 1;
|
||||
if (_currentTrackLiftHill & 1) {
|
||||
_currentTrackLiftHill ^= CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
if (_currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED) {
|
||||
_currentTrackAlternative &= ~RIDE_TYPE_ALTERNATIVE_TRACK_PIECES;
|
||||
}
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
|
@ -1596,7 +1586,7 @@ static void window_ride_construction_mousedown(rct_widgetindex widgetIndex, rct_
|
|||
case WIDX_O_TRACK:
|
||||
ride_construction_invalidate_current_track();
|
||||
_currentTrackAlternative |= RIDE_TYPE_ALTERNATIVE_TRACK_PIECES;
|
||||
_currentTrackLiftHill &= ~1;
|
||||
_currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
|
@ -1646,7 +1636,7 @@ static void window_ride_construction_dropdown(rct_window *w, rct_widgetindex wid
|
|||
case TRACK_ELEM_LEFT_VERTICAL_LOOP:
|
||||
case TRACK_ELEM_RIGHT_VERTICAL_LOOP:
|
||||
_currentTrackBankEnd = TRACK_BANK_NONE;
|
||||
_currentTrackLiftHill &= ~1;
|
||||
_currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
break;
|
||||
}
|
||||
_currentTrackCurve = trackPiece | 0x100;
|
||||
|
@ -1659,13 +1649,13 @@ static void window_ride_construction_dropdown(rct_window *w, rct_widgetindex wid
|
|||
*/
|
||||
static void window_ride_construction_construct(rct_window *w)
|
||||
{
|
||||
sint32 trackType, trackDirection, rideIndex, edxRS16, x, y, z, properties;
|
||||
sint32 trackType, trackDirection, rideIndex, liftHillAndAlternativeState, x, y, z, properties;
|
||||
track_begin_end trackBeginEnd;
|
||||
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
_trackPlaceCost = MONEY32_UNDEFINED;
|
||||
ride_construction_invalidate_current_track();
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, &properties)) {
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &liftHillAndAlternativeState, &x, &y, &z, &properties)) {
|
||||
window_ride_construction_update_active_elements();
|
||||
return;
|
||||
}
|
||||
|
@ -1684,7 +1674,7 @@ static void window_ride_construction_construct(rct_window *w)
|
|||
x,
|
||||
(GAME_COMMAND_FLAG_APPLY) | (trackDirection << 8),
|
||||
y,
|
||||
rideIndex | (trackType << 8) | (edxRS16 << 16),
|
||||
rideIndex | (trackType << 8) | (liftHillAndAlternativeState << 16),
|
||||
GAME_COMMAND_PLACE_TRACK,
|
||||
z | (properties << 16),
|
||||
0
|
||||
|
@ -2222,8 +2212,8 @@ static void window_ride_construction_paint(rct_window *w, rct_drawpixelinfo *dpi
|
|||
if (widget->type == WWT_EMPTY)
|
||||
return;
|
||||
|
||||
sint32 trackType, trackDirection, rideIndex, edxRS16;
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, NULL, NULL, NULL, NULL))
|
||||
sint32 trackType, trackDirection, rideIndex, liftHillAndAlternativeState;
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &liftHillAndAlternativeState, NULL, NULL, NULL, NULL))
|
||||
return;
|
||||
|
||||
// Draw track piece
|
||||
|
@ -2232,7 +2222,7 @@ static void window_ride_construction_paint(rct_window *w, rct_drawpixelinfo *dpi
|
|||
width = widget->right - widget->left - 1;
|
||||
height = widget->bottom - widget->top - 1;
|
||||
if (clip_drawpixelinfo(&clipdpi, dpi, x, y, width, height)) {
|
||||
window_ride_construction_draw_track_piece(w, &clipdpi, rideIndex, trackType, trackDirection, edxRS16, width, height);
|
||||
window_ride_construction_draw_track_piece(w, &clipdpi, rideIndex, trackType, trackDirection, liftHillAndAlternativeState, width, height);
|
||||
}
|
||||
|
||||
// Draw cost
|
||||
|
@ -2584,34 +2574,34 @@ static bool sub_6CA2DF_get_track_element(uint8 *trackElement) {
|
|||
* @param[out] _trackType (dh)
|
||||
* @param[out] _trackDirection (bh)
|
||||
* @param[out] _rideIndex (dl)
|
||||
* @param[out] _edxRS16 (edxrs16)
|
||||
* @param[out] _liftHillAndAlternativeState (liftHillAndAlternativeState)
|
||||
* @param[out] _x (ax)
|
||||
* @param[out] _y (cx)
|
||||
* @param[out] _z (di)
|
||||
* @param[out] _properties (edirs16)
|
||||
* @return (CF)
|
||||
*/
|
||||
bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex, sint32 *_edxRS16, sint32 *_x, sint32 *_y, sint32 *_z, sint32 *_properties) {
|
||||
bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex, sint32 *_liftHillAndAlternativeState, sint32 *_x, sint32 *_y, sint32 *_z, sint32 *_properties) {
|
||||
uint8 trackType, trackDirection, rideIndex;
|
||||
uint16 z, x, y, edxRS16, properties;
|
||||
uint16 z, x, y, liftHillAndAlternativeState, properties;
|
||||
|
||||
if (!sub_6CA2DF_get_track_element(&trackType)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
edxRS16 = 0;
|
||||
liftHillAndAlternativeState = 0;
|
||||
rideIndex = _currentRideIndex;
|
||||
if (_currentTrackLiftHill & 1) {
|
||||
edxRS16 |= 0x1;
|
||||
if (_currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED) {
|
||||
liftHillAndAlternativeState |= CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
}
|
||||
|
||||
if (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) {
|
||||
edxRS16 |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
|
||||
liftHillAndAlternativeState |= RIDE_TYPE_ALTERNATIVE_TRACK_TYPE;
|
||||
}
|
||||
|
||||
rct_ride *ride = get_ride(rideIndex);
|
||||
|
||||
if (_enabledRidePieces.b & (1 << 8)) {
|
||||
if (_enabledRidePieces & (1ULL << TRACK_SLOPE_STEEP_LONG)) {
|
||||
switch (trackType) {
|
||||
case TRACK_ELEM_FLAT_TO_60_DEG_UP:
|
||||
trackType = TRACK_ELEM_FLAT_TO_60_DEG_UP_LONG_BASE;
|
||||
|
@ -2643,7 +2633,7 @@ bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex,
|
|||
if (alternativeType > -1) {
|
||||
trackType = (uint8) alternativeType;
|
||||
}
|
||||
edxRS16 &= 0xFFFE; // unsets 0x1
|
||||
liftHillAndAlternativeState &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2691,8 +2681,8 @@ bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex,
|
|||
|
||||
|
||||
bool do_loc_6CAF26 = false;
|
||||
if (!(_enabledRidePieces.a & (1 << 5))) {
|
||||
if (TrackFlags[trackType] & TRACK_ELEM_FLAG_2000) {
|
||||
if (!(_enabledRidePieces & (1ULL << TRACK_LIFT_HILL_CURVE))) {
|
||||
if (TrackFlags[trackType] & TRACK_ELEM_FLAG_CURVE_ALLOWS_LIFT) {
|
||||
do_loc_6CAF26 = true;
|
||||
}
|
||||
}
|
||||
|
@ -2702,11 +2692,11 @@ bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex,
|
|||
}
|
||||
|
||||
if (do_loc_6CAF26 && !gCheatsEnableChainLiftOnAllTrack) {
|
||||
edxRS16 &= 0xFFFE; //unsets 0x1
|
||||
_currentTrackLiftHill &= 0xFE;
|
||||
liftHillAndAlternativeState &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
_currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
|
||||
if (trackType == TRACK_ELEM_LEFT_CURVED_LIFT_HILL || trackType == TRACK_ELEM_RIGHT_CURVED_LIFT_HILL) {
|
||||
edxRS16 |= 0x1;
|
||||
liftHillAndAlternativeState |= CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2721,7 +2711,7 @@ bool sub_6CA2DF(sint32 *_trackType, sint32 *_trackDirection, sint32 *_rideIndex,
|
|||
if (_trackType != NULL) *_trackType = trackType;
|
||||
if (_trackDirection != NULL) *_trackDirection = trackDirection;
|
||||
if (_rideIndex != NULL) *_rideIndex = rideIndex;
|
||||
if (_edxRS16 != NULL) *_edxRS16 = edxRS16;
|
||||
if (_liftHillAndAlternativeState != NULL) *_liftHillAndAlternativeState = liftHillAndAlternativeState;
|
||||
if (_x != NULL) *_x = x;
|
||||
if (_y != NULL) *_y = y;
|
||||
if (_z != NULL) *_z = z;
|
||||
|
@ -2745,18 +2735,18 @@ static void window_ride_construction_update_enabled_track_pieces()
|
|||
sint32 rideType = (_currentTrackAlternative & RIDE_TYPE_ALTERNATIVE_TRACK_TYPE) ? RideData4[ride->type].alternate_type : ride->type;
|
||||
if (!gConfigInterface.select_by_track_type)
|
||||
{
|
||||
_enabledRidePieces.ab = rideEntry->enabledTrackPieces & RideTypePossibleTrackConfigurations[rideType];
|
||||
_enabledRidePieces = rideEntry->enabledTrackPieces & RideTypePossibleTrackConfigurations[rideType];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (track_type_has_ride_groups(rideType))
|
||||
{
|
||||
const ride_group * rideGroup = get_ride_group(rideType, rideEntry);
|
||||
_enabledRidePieces.ab = rideGroup->available_track_pieces;
|
||||
_enabledRidePieces = rideGroup->available_track_pieces;
|
||||
}
|
||||
else
|
||||
{
|
||||
_enabledRidePieces.ab = RideTypePossibleTrackConfigurations[rideType];
|
||||
_enabledRidePieces = RideTypePossibleTrackConfigurations[rideType];
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2767,7 +2757,7 @@ static void window_ride_construction_update_enabled_track_pieces()
|
|||
*
|
||||
* rct2: 0x006CA162
|
||||
*/
|
||||
money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 edxRS16, sint32 x, sint32 y, sint32 z)
|
||||
money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32 trackDirection, sint32 liftHillAndAlternativeState, sint32 x, sint32 y, sint32 z)
|
||||
{
|
||||
rct_ride *ride;
|
||||
money32 result;
|
||||
|
@ -2775,7 +2765,7 @@ money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32
|
|||
ride_construction_remove_ghosts();
|
||||
ride = get_ride(rideIndex);
|
||||
if (ride->type == RIDE_TYPE_MAZE) {
|
||||
result = game_do_command(x, 105 | (4 << 8), y, rideIndex | (trackType << 8) | (edxRS16 << 16), GAME_COMMAND_SET_MAZE_TRACK, z, 0);
|
||||
result = game_do_command(x, 105 | (4 << 8), y, rideIndex | (trackType << 8) | (liftHillAndAlternativeState << 16), GAME_COMMAND_SET_MAZE_TRACK, z, 0);
|
||||
if (result == MONEY32_UNDEFINED)
|
||||
return result;
|
||||
|
||||
|
@ -2790,7 +2780,7 @@ money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32
|
|||
|
||||
return result;
|
||||
} else {
|
||||
result = game_do_command(x, 105 | (trackDirection << 8), y, rideIndex | (trackType << 8) | (edxRS16 << 16), GAME_COMMAND_PLACE_TRACK, z, 0);
|
||||
result = game_do_command(x, 105 | (trackDirection << 8), y, rideIndex | (trackType << 8) | (liftHillAndAlternativeState << 16), GAME_COMMAND_PLACE_TRACK, z, 0);
|
||||
if (result == MONEY32_UNDEFINED)
|
||||
return result;
|
||||
|
||||
|
@ -2817,7 +2807,7 @@ money32 place_provisional_track_piece(sint32 rideIndex, sint32 trackType, sint32
|
|||
*/
|
||||
void sub_6C94D8()
|
||||
{
|
||||
sint32 x, y, z, direction, type, rideIndex, edxRS16;
|
||||
sint32 x, y, z, direction, type, rideIndex, liftHillAndAlternativeState;
|
||||
|
||||
// Recheck if area is fine for new track.
|
||||
// Set by footpath placement
|
||||
|
@ -2830,10 +2820,10 @@ void sub_6C94D8()
|
|||
case RIDE_CONSTRUCTION_STATE_FRONT:
|
||||
case RIDE_CONSTRUCTION_STATE_BACK:
|
||||
if (!(_currentTrackSelectionFlags & TRACK_SELECTION_FLAG_TRACK)) {
|
||||
if (sub_6CA2DF(&type, &direction, &rideIndex, &edxRS16, &x, &y, &z, NULL)) {
|
||||
if (sub_6CA2DF(&type, &direction, &rideIndex, &liftHillAndAlternativeState, &x, &y, &z, NULL)) {
|
||||
ride_construction_remove_ghosts();
|
||||
} else {
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, edxRS16, x, y, z);
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, type, direction, liftHillAndAlternativeState, x, y, z);
|
||||
window_ride_construction_update_active_elements();
|
||||
}
|
||||
}
|
||||
|
@ -3506,7 +3496,7 @@ static void window_ride_construction_update_widgets(rct_window *w)
|
|||
pressedWidgets |= (1ULL << widgetIndex);
|
||||
}
|
||||
|
||||
if (_currentTrackLiftHill & 1)
|
||||
if (_currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED)
|
||||
pressedWidgets |= (1 << WIDX_CHAIN_LIFT);
|
||||
|
||||
w->pressed_widgets = pressedWidgets;
|
||||
|
@ -3616,7 +3606,7 @@ static void loc_6C7502(sint32 al)
|
|||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT) {
|
||||
if (al != 2 && al != 4 && al != 0) {
|
||||
_currentTrackLiftHill &= ~1;
|
||||
_currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
}
|
||||
}
|
||||
window_ride_construction_update_active_elements();
|
||||
|
@ -3684,8 +3674,8 @@ void ride_construction_toolupdate_construct(sint32 screenX, sint32 screenY)
|
|||
gMapSelectionTiles[1].x = -1;
|
||||
gMapSelectionTiles[1].y = -1;
|
||||
|
||||
sint32 trackType, trackDirection, rideIndex, edxRS16;
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, NULL, NULL, NULL, NULL)) {
|
||||
sint32 trackType, trackDirection, rideIndex, liftHillAndAlternativeState;
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &liftHillAndAlternativeState, NULL, NULL, NULL, NULL)) {
|
||||
ride_construction_invalidate_current_track();
|
||||
map_invalidate_map_selection_tiles();
|
||||
return;
|
||||
|
@ -3745,8 +3735,8 @@ void ride_construction_toolupdate_construct(sint32 screenX, sint32 screenY)
|
|||
_previousTrackPieceZ = z;
|
||||
if (ride->type == RIDE_TYPE_MAZE) {
|
||||
for (;;) {
|
||||
sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, NULL);
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, edxRS16, x, y, z);
|
||||
sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &liftHillAndAlternativeState, &x, &y, &z, NULL);
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, liftHillAndAlternativeState, x, y, z);
|
||||
if (_currentTrackPrice != MONEY32_UNDEFINED)
|
||||
break;
|
||||
|
||||
|
@ -3768,8 +3758,8 @@ void ride_construction_toolupdate_construct(sint32 screenX, sint32 screenY)
|
|||
}
|
||||
|
||||
for (;;) {
|
||||
sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, NULL);
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, edxRS16, x, y, z);
|
||||
sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &liftHillAndAlternativeState, &x, &y, &z, NULL);
|
||||
_currentTrackPrice = place_provisional_track_piece(rideIndex, trackType, trackDirection, liftHillAndAlternativeState, x, y, z);
|
||||
if (_currentTrackPrice != MONEY32_UNDEFINED)
|
||||
break;
|
||||
|
||||
|
@ -3844,13 +3834,13 @@ void ride_construction_toolupdate_entrance_exit(sint32 screenX, sint32 screenY)
|
|||
void ride_construction_tooldown_construct(sint32 screenX, sint32 screenY)
|
||||
{
|
||||
const CursorState * state = context_get_cursor_state();
|
||||
sint32 trackType, trackDirection, rideIndex, edxRS16, x, y, z, properties, highestZ;
|
||||
sint32 trackType, trackDirection, rideIndex, liftHillAndAlternativeState, x, y, z, properties, highestZ;
|
||||
rct_window *w;
|
||||
|
||||
map_invalidate_map_selection_tiles();
|
||||
ride_construction_invalidate_current_track();
|
||||
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &edxRS16, &x, &y, &z, &properties))
|
||||
if (sub_6CA2DF(&trackType, &trackDirection, &rideIndex, &liftHillAndAlternativeState, &x, &y, &z, &properties))
|
||||
return;
|
||||
|
||||
_currentTrackPieceType = trackType;
|
||||
|
@ -4383,7 +4373,7 @@ void window_ride_construction_keyboard_shortcut_use_track_default()
|
|||
window_event_mouse_down_call(w, WIDX_LEVEL);
|
||||
}
|
||||
|
||||
if (!widget_is_disabled(w, WIDX_CHAIN_LIFT) && w->widgets[WIDX_CHAIN_LIFT].type != WWT_EMPTY && _currentTrackLiftHill & 1) {
|
||||
if (!widget_is_disabled(w, WIDX_CHAIN_LIFT) && w->widgets[WIDX_CHAIN_LIFT].type != WWT_EMPTY && _currentTrackLiftHill & CONSTRUCTION_LIFT_HILL_SELECTED) {
|
||||
window_event_mouse_down_call(w, WIDX_CHAIN_LIFT);
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ static bool WallCheckObstructionWithTrack(rct_scenery_entry * wall,
|
|||
}
|
||||
|
||||
// The following code checks if a door is allowed on the track
|
||||
if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_0))
|
||||
if (!(RideData4[ride->type].flags & RIDE_TYPE_FLAG4_ALLOW_DOORS_ON_TRACK))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue