Include data from `0x0097D7CB`

This commit is contained in:
Marijn van der Werf 2016-08-05 12:53:44 +02:00 committed by Ted John
parent 42501c66fe
commit 082e4c76fa
5 changed files with 103 additions and 7 deletions

View File

@ -3015,7 +3015,7 @@ static void peep_update_ride_sub_state_9(rct_peep* peep){
}
if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO){
uint8 secondaryItem = RCT2_ADDRESS(0x0097D7CB, uint8)[ride->type * 4];
uint8 secondaryItem = RidePhotoItems[ride->type];
if (sub_69AF1E(peep, peep->current_ride, secondaryItem, ride->price_secondary)) {
ride->no_secondary_items_sold++;
}

View File

@ -400,7 +400,7 @@ static money32 ride_calculate_income_per_hour(rct_ride *ride)
}
currentShopItem = ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO ?
RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8) :
RidePhotoItems[ride->type] :
entry->shop_item_secondary;
if (currentShopItem != SHOP_ITEM_NONE) {
@ -6629,7 +6629,7 @@ void game_command_set_ride_price(int *eax, int *ebx, int *ecx, int *edx, int *es
else {
shop_item = rideEntry->shop_item_secondary;
if (shop_item == SHOP_ITEM_NONE) {
shop_item = RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8);
shop_item = RidePhotoItems[ride->type];
if ((ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) == 0) {
ride->price_secondary = price;
window_invalidate_by_class(WC_RIDE);

View File

@ -1635,6 +1635,101 @@ const rct_ride_lift_data RideLiftData[] = {
{ 255, 4, 6 } // LIM Launched Roller Coaster
};
/** rct2: 0x0097D7CB */
const int RidePhotoItems[] = {
SHOP_ITEM_PHOTO, // RIDE_TYPE_SPIRAL_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_STAND_UP_ROLLER_COASTER
SHOP_ITEM_PHOTO2, // RIDE_TYPE_SUSPENDED_SWINGING_COASTER
SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_JUNIOR_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_MINIATURE_RAILWAY
SHOP_ITEM_PHOTO, // RIDE_TYPE_MONORAIL
SHOP_ITEM_PHOTO2, // RIDE_TYPE_MINI_SUSPENDED_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_BOAT_RIDE
SHOP_ITEM_PHOTO3, // RIDE_TYPE_WOODEN_WILD_MOUSE
SHOP_ITEM_PHOTO, // RIDE_TYPE_STEEPLECHASE
SHOP_ITEM_PHOTO, // RIDE_TYPE_CAR_RIDE
SHOP_ITEM_PHOTO, // RIDE_TYPE_LAUNCHED_FREEFALL
SHOP_ITEM_PHOTO, // RIDE_TYPE_BOBSLEIGH_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_OBSERVATION_TOWER
SHOP_ITEM_PHOTO, // RIDE_TYPE_LOOPING_ROLLER_COASTER
SHOP_ITEM_PHOTO4, // RIDE_TYPE_DINGHY_SLIDE
SHOP_ITEM_PHOTO, // RIDE_TYPE_MINE_TRAIN_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_CHAIRLIFT
SHOP_ITEM_PHOTO, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_MAZE
SHOP_ITEM_PHOTO, // RIDE_TYPE_SPIRAL_SLIDE
SHOP_ITEM_PHOTO, // RIDE_TYPE_GO_KARTS
SHOP_ITEM_PHOTO4, // RIDE_TYPE_LOG_FLUME
SHOP_ITEM_PHOTO4, // RIDE_TYPE_RIVER_RAPIDS
SHOP_ITEM_PHOTO, // RIDE_TYPE_DODGEMS
SHOP_ITEM_PHOTO, // RIDE_TYPE_PIRATE_SHIP
SHOP_ITEM_PHOTO, // RIDE_TYPE_SWINGING_INVERTER_SHIP
SHOP_ITEM_PHOTO, // RIDE_TYPE_FOOD_STALL
SHOP_ITEM_PHOTO, // RIDE_TYPE_1D
SHOP_ITEM_PHOTO, // RIDE_TYPE_DRINK_STALL
SHOP_ITEM_PHOTO, // RIDE_TYPE_1F
SHOP_ITEM_PHOTO, // RIDE_TYPE_SHOP
SHOP_ITEM_PHOTO, // RIDE_TYPE_MERRY_GO_ROUND
SHOP_ITEM_PHOTO, // RIDE_TYPE_22
SHOP_ITEM_PHOTO, // RIDE_TYPE_INFORMATION_KIOSK
SHOP_ITEM_PHOTO, // RIDE_TYPE_TOILETS
SHOP_ITEM_PHOTO, // RIDE_TYPE_FERRIS_WHEEL
SHOP_ITEM_PHOTO, // RIDE_TYPE_MOTION_SIMULATOR
SHOP_ITEM_PHOTO, // RIDE_TYPE_3D_CINEMA
SHOP_ITEM_PHOTO, // RIDE_TYPE_TOP_SPIN
SHOP_ITEM_PHOTO, // RIDE_TYPE_SPACE_RINGS
SHOP_ITEM_PHOTO, // RIDE_TYPE_REVERSE_FREEFALL_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_LIFT
SHOP_ITEM_PHOTO, // RIDE_TYPE_VERTICAL_DROP_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_CASH_MACHINE
SHOP_ITEM_PHOTO, // RIDE_TYPE_TWIST
SHOP_ITEM_PHOTO, // RIDE_TYPE_HAUNTED_HOUSE
SHOP_ITEM_PHOTO, // RIDE_TYPE_FIRST_AID
SHOP_ITEM_PHOTO, // RIDE_TYPE_CIRCUS_SHOW
SHOP_ITEM_PHOTO, // RIDE_TYPE_GHOST_TRAIN
SHOP_ITEM_PHOTO, // RIDE_TYPE_TWISTER_ROLLER_COASTER
SHOP_ITEM_PHOTO3, // RIDE_TYPE_WOODEN_ROLLER_COASTER
SHOP_ITEM_PHOTO3, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_WILD_MOUSE
SHOP_ITEM_PHOTO2, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER
SHOP_ITEM_PHOTO2, // RIDE_TYPE_38
SHOP_ITEM_PHOTO2, // RIDE_TYPE_FLYING_ROLLER_COASTER
SHOP_ITEM_PHOTO2, // RIDE_TYPE_3A
SHOP_ITEM_PHOTO3, // RIDE_TYPE_VIRGINIA_REEL
SHOP_ITEM_PHOTO4, // RIDE_TYPE_SPLASH_BOATS
SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_HELICOPTERS
SHOP_ITEM_PHOTO2, // RIDE_TYPE_LAY_DOWN_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_SUSPENDED_MONORAIL
SHOP_ITEM_PHOTO2, // RIDE_TYPE_40
SHOP_ITEM_PHOTO3, // RIDE_TYPE_REVERSER_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_HEARTLINE_TWISTER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_GOLF
SHOP_ITEM_PHOTO, // RIDE_TYPE_GIGA_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_ROTO_DROP
SHOP_ITEM_PHOTO, // RIDE_TYPE_FLYING_SAUCERS
SHOP_ITEM_PHOTO, // RIDE_TYPE_CROOKED_HOUSE
SHOP_ITEM_PHOTO, // RIDE_TYPE_MONORAIL_CYCLES
SHOP_ITEM_PHOTO2, // RIDE_TYPE_COMPACT_INVERTED_COASTER
SHOP_ITEM_PHOTO4, // RIDE_TYPE_WATER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER
SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_HAIRPIN_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_MAGIC_CARPET
SHOP_ITEM_PHOTO, // RIDE_TYPE_SUBMARINE_RIDE
SHOP_ITEM_PHOTO4, // RIDE_TYPE_RIVER_RAFTS
SHOP_ITEM_PHOTO, // RIDE_TYPE_50
SHOP_ITEM_PHOTO, // RIDE_TYPE_ENTERPRISE
SHOP_ITEM_PHOTO, // RIDE_TYPE_52
SHOP_ITEM_PHOTO, // RIDE_TYPE_53
SHOP_ITEM_PHOTO, // RIDE_TYPE_54
SHOP_ITEM_PHOTO, // RIDE_TYPE_55
SHOP_ITEM_PHOTO2, // RIDE_TYPE_INVERTED_IMPULSE_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_MINI_ROLLER_COASTER
SHOP_ITEM_PHOTO, // RIDE_TYPE_MINE_RIDE
SHOP_ITEM_PHOTO, // RIDE_TYPE_59
SHOP_ITEM_PHOTO, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER
};
// rct2: 0x0097CD1E
const rating_tuple RideRatings[91] = {
{ 50, 30, 10 }, // RIDE_TYPE_SPIRAL_ROLLER_COASTER

View File

@ -147,6 +147,7 @@ extern const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_
extern const rct_ride_lift_data RideLiftData[91];
extern const rct_ride_data_4 RideData4[91];
extern const int RidePhotoItems[91];
extern const ride_cost RideTrackCosts[91];
extern const rct_ride_data_5 RideData5[91];

View File

@ -5888,7 +5888,7 @@ static void window_ride_income_toggle_secondary_price(rct_window *w)
shop_item = ride_type->shop_item_secondary;
if (shop_item == 0xFF)
shop_item = RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8);
shop_item = RidePhotoItems[ride->type];
update_same_price_throughout_flags(shop_item);
@ -6123,7 +6123,7 @@ static void window_ride_income_invalidate(rct_window *w)
}
// Get secondary item
secondaryItem = RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8);
secondaryItem = RidePhotoItems[ride->type];
if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO)) {
if ((secondaryItem = rideEntry->shop_item_secondary) != SHOP_ITEM_NONE) {
window_ride_income_widgets[WIDX_SECONDARY_PRICE_LABEL].text = ShopItemStringIds[secondaryItem].price_label;
@ -6199,7 +6199,7 @@ static void window_ride_income_paint(rct_window *w, rct_drawpixelinfo *dpi)
y += 39;
// Secondary item profit / loss per item sold
secondaryItem = RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8);
secondaryItem = RidePhotoItems[ride->type];
if (!(ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO))
secondaryItem = rideEntry->shop_item_secondary;
@ -6418,7 +6418,7 @@ static void window_ride_customer_paint(rct_window *w, rct_drawpixelinfo *dpi)
// Secondary shop items sold / on-ride photos sold
shopItem = ride->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO ?
RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8) :
RidePhotoItems[ride->type] :
get_ride_entry_by_ride(ride)->shop_item_secondary;
if (shopItem != SHOP_ITEM_NONE) {
set_format_arg(0, uint16, ShopItemStringIds[shopItem].plural);