From 6ba69c52caea94ccaab3476cf2f478a0b82e86b0 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Thu, 25 Feb 2016 23:56:11 +0100 Subject: [PATCH] Use a define to specify the default vehicle should be used --- src/rct1.c | 186 +++++++++++++++++++++++++++-------------------------- 1 file changed, 94 insertions(+), 92 deletions(-) diff --git a/src/rct1.c b/src/rct1.c index 202ebeba29..c4257278ab 100644 --- a/src/rct1.c +++ b/src/rct1.c @@ -18,6 +18,8 @@ * along with this program. If not, see . *****************************************************************************/ +#define USE_DEFAULT_VEHICLE 255 + #include "addresses.h" #include "config.h" #include "editor.h" @@ -1106,97 +1108,97 @@ static const rct_object_entry RCT1DefaultObjectsRides[] = { { 0x00008000, { "AML1 " }, 0 } }; -// A value of 255 means the default vehicle for the respective track type should be used. +// Maps an alternative vehicle to an entry in RCT1DefaultObjectsRides. static const uint8 RCT1AlternativeVehicleMappings[89] = { - 255, // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS - 255, // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN - 73, // RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN // Not in RCT2 - 255, // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS - 255, // RCT1_VEHICLE_TYPE_LADYBIRD_CARS - 255, // RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS - 85, // RCT1_VEHICLE_TYPE_SPINNING_CARS - 255, // RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS - 86, // RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS - 87, // RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN - 88, // RCT1_VEHICLE_TYPE_CANOES - 255, // RCT1_VEHICLE_TYPE_ROWING_BOATS - 255, // RCT1_VEHICLE_TYPE_STEAM_TRAIN - 255, // RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS - 89, // RCT1_VEHICLE_TYPE_BUMPER_BOATS - 255, // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS - 90, // RCT1_VEHICLE_TYPE_ROCKET_CARS - 255, // RCT1_VEHICLE_TYPE_HORSES // Steeplechase - 255, // RCT1_VEHICLE_TYPE_SPORTSCARS - 91, // RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS // Inverted single-rail - 92, // RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS - 93, // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS - 255, // RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS - 94, // RCT1_VEHICLE_TYPE_WATER_TRICYCLES - 255, // RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR - 255, // RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS - 255, // RCT1_VEHICLE_TYPE_DINGHIES - 255, // RCT1_VEHICLE_TYPE_ROTATING_CABIN - 255, // RCT1_VEHICLE_TYPE_MINE_TRAIN - 255, // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS - 255, // RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN - 95, // RCT1_VEHICLE_TYPE_MOTORBIKES - 96, // RCT1_VEHICLE_TYPE_RACING_CARS - 97, // RCT1_VEHICLE_TYPE_TRUCKS - 255, // RCT1_VEHICLE_TYPE_GO_KARTS - 255, // RCT1_VEHICLE_TYPE_RAPIDS_BOATS - 255, // RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS - 255, // RCT1_VEHICLE_TYPE_DODGEMS - 255, // RCT1_VEHICLE_TYPE_SWINGING_SHIP - 255, // RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP - 255, // RCT1_VEHICLE_TYPE_MERRY_GO_ROUND - 255, // RCT1_VEHICLE_TYPE_FERRIS_WHEEL - 255, // RCT1_VEHICLE_TYPE_SIMULATOR_POD - 255, // RCT1_VEHICLE_TYPE_CINEMA_BUILDING - 255, // RCT1_VEHICLE_TYPE_TOPSPIN_CAR - 255, // RCT1_VEHICLE_TYPE_SPACE_RINGS - 255, // RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR - 255, // RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS - 98, // RCT1_VEHICLE_TYPE_CAT_CARS - 255, // RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS - 255, // RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING - 99, // RCT1_VEHICLE_TYPE_LOG_CARS - 255, // RCT1_VEHICLE_TYPE_CIRCUS_TENT - 255, // RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS - 255, // RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS - 100, // RCT1_VEHICLE_TYPE_VINTAGE_CARS - 101, // RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS - 102, // RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN - 103, // RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS - 104, // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE - 255, // RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN - 255, // RCT1_VEHICLE_TYPE_HELICOPTER_CARS - 255, // RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS - 255, // RCT1_VEHICLE_TYPE_REVERSER_CARS - 255, // RCT1_VEHICLE_TYPE_GOLFERS - 255, // RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS - 255, // RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN - 105, // RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS - 106, // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED - 255, // RCT1_VEHICLE_TYPE_RESERVED - 255, // RCT1_VEHICLE_TYPE_ROTODROP_CAR - 255, // RCT1_VEHICLE_TYPE_FLYING_SAUCERS - 255, // RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING - 255, // RCT1_VEHICLE_TYPE_BICYCLES - 107, // RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS - 108, // RCT1_VEHICLE_TYPE_FACEOFF_CARS - 255, // RCT1_VEHICLE_TYPE_JET_SKIS - 255, // RCT1_VEHICLE_TYPE_RAFT_BOATS - 109, // RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN - 255, // RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN - 255, // RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS // Inverted Hairpin in RCT2 - 255 // RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN + 73, // RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN // Not in RCT2 + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_LADYBIRD_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS + 85, // RCT1_VEHICLE_TYPE_SPINNING_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS + 86, // RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS + 87, // RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN + 88, // RCT1_VEHICLE_TYPE_CANOES + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_ROWING_BOATS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_STEAM_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS + 89, // RCT1_VEHICLE_TYPE_BUMPER_BOATS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS + 90, // RCT1_VEHICLE_TYPE_ROCKET_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_HORSES // Steeplechase + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SPORTSCARS + 91, // RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS // Inverted single-rail + 92, // RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS + 93, // RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS + 94, // RCT1_VEHICLE_TYPE_WATER_TRICYCLES + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_DINGHIES + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_ROTATING_CABIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_MINE_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN + 95, // RCT1_VEHICLE_TYPE_MOTORBIKES + 96, // RCT1_VEHICLE_TYPE_RACING_CARS + 97, // RCT1_VEHICLE_TYPE_TRUCKS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_GO_KARTS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_RAPIDS_BOATS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_DODGEMS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SWINGING_SHIP + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_MERRY_GO_ROUND + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_FERRIS_WHEEL + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SIMULATOR_POD + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_CINEMA_BUILDING + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_TOPSPIN_CAR + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SPACE_RINGS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS + 98, // RCT1_VEHICLE_TYPE_CAT_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING + 99, // RCT1_VEHICLE_TYPE_LOG_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_CIRCUS_TENT + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS + 100, // RCT1_VEHICLE_TYPE_VINTAGE_CARS + 101, // RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS + 102, // RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN + 103, // RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS + 104, // RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_HELICOPTER_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_REVERSER_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_GOLFERS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN + 105, // RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS + 106, // RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_RESERVED + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_ROTODROP_CAR + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_FLYING_SAUCERS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_BICYCLES + 107, // RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS + 108, // RCT1_VEHICLE_TYPE_FACEOFF_CARS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_JET_SKIS + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_RAFT_BOATS + 109, // RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN + USE_DEFAULT_VEHICLE, // RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS // Inverted Hairpin in RCT2 + USE_DEFAULT_VEHICLE // RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL }; // rct2: 0x0098BD0E @@ -2177,10 +2179,10 @@ static void rct1_import_ride(rct1_s4 *s4, rct_ride *dst, rct1_ride *src) // Make sure the right vehicle is chosen. // https://github.com/OpenRCT2/OpenRCT2/wiki/RCT1-ride-and-vehicle-types-and-their-RCT2-equivalents - if (RCT1AlternativeVehicleMappings[src->vehicle_type] != 255) + if (RCT1AlternativeVehicleMappings[src->vehicle_type] != USE_DEFAULT_VEHICLE) dst->subtype = RCT1AlternativeVehicleMappings[src->vehicle_type]; else - dst->subtype = src->type; + dst->subtype = src->type; rideEntry = get_ride_entry(dst->subtype);