diff --git a/src/ride/ride_data.c b/src/ride/ride_data.c index 208d808024..f40a225b51 100644 --- a/src/ride/ride_data.c +++ b/src/ride/ride_data.c @@ -1600,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 +}; diff --git a/src/ride/ride_data.h b/src/ride/ride_data.h index f9f031ac82..ab92f580d1 100644 --- a/src/ride/ride_data.h +++ b/src/ride/ride_data.h @@ -127,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 diff --git a/src/ride/ride_ratings.c b/src/ride/ride_ratings.c index a65ba6e349..972b628716 100644 --- a/src/ride/ride_ratings.c +++ b/src/ride/ride_ratings.c @@ -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;