diff --git a/src/ride/ride.c b/src/ride/ride.c index 4e6193187a..d7268c0e56 100644 --- a/src/ride/ride.c +++ b/src/ride/ride.c @@ -358,30 +358,22 @@ void ride_update_favourited_stat() money32 get_shop_item_cost(int shopItem) { - return shopItem < 32 ? - RCT2_GLOBAL(0x00982164 + (shopItem * 8), uint16) : - RCT2_GLOBAL(0x00982144 + (shopItem * 8), uint16); + return ShopItemStats[shopItem].cost; } money16 get_shop_base_value(int shopItem) { - return shopItem < 32 ? - RCT2_GLOBAL((0x00982164 + 2) + (shopItem * 8), uint16) : - RCT2_GLOBAL((0x00982144 + 2) + (shopItem * 8), uint16); + return ShopItemStats[shopItem].base_value; } money16 get_shop_cold_value(int shopItem) { - return shopItem < 32 ? - RCT2_GLOBAL((0x00982164 + 4) + (shopItem * 8), uint16) : - RCT2_GLOBAL((0x00982144 + 4) + (shopItem * 8), uint16); + return ShopItemStats[shopItem].cold_value; } money16 get_shop_hot_value(int shopItem) { - return shopItem < 32 ? - RCT2_GLOBAL((0x00982164 + 6) + (shopItem * 8), uint16) : - RCT2_GLOBAL((0x00982144 + 6) + (shopItem * 8), uint16); + return ShopItemStats[shopItem].hot_value; } /** diff --git a/src/ride/ride_data.c b/src/ride/ride_data.c index 9496f3a362..69cc49dcd8 100644 --- a/src/ride/ride_data.c +++ b/src/ride/ride_data.c @@ -2234,3 +2234,61 @@ const rct_ride_properties RideProperties[91] = { RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR, 10, 31, 26, 18}, // RIDE_TYPE_LIM_LAUNCHED_ROLLER_COASTER }; + +/** rct2: 0x00982164 */ +const rct_shop_item_stats ShopItemStats[SHOP_ITEM_COUNT] = { + { 3, 14, 14, 14 }, // SHOP_ITEM_BALLOON + { 15, 30, 30, 30 }, // SHOP_ITEM_TOY + { 1, 7, 7, 8 }, // SHOP_ITEM_MAP + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO + { 20, 35, 25, 50 }, // SHOP_ITEM_UMBRELLA + { 3, 12, 20, 10 }, // SHOP_ITEM_DRINK + { 5, 19, 19, 22 }, // SHOP_ITEM_BURGER + { 4, 16, 16, 18 }, // SHOP_ITEM_FRIES + { 4, 10, 15, 6 }, // SHOP_ITEM_ICE_CREAM + { 3, 9, 9, 6 }, // SHOP_ITEM_COTTON_CANDY + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_CAN + { 0, 0, 0, 0 }, // SHOP_ITEM_RUBBISH + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BURGER_BOX + { 6, 21, 21, 25 }, // SHOP_ITEM_PIZZA + { 0, 0, 0, 0 }, // SHOP_ITEM_VOUCHER + { 5, 13, 13, 11 }, // SHOP_ITEM_POPCORN + { 5, 17, 17, 20 }, // SHOP_ITEM_HOT_DOG + { 11, 22, 20, 18 }, // SHOP_ITEM_TENTACLE + { 9, 27, 32, 24 }, // SHOP_ITEM_HAT + { 4, 10, 10, 10 }, // SHOP_ITEM_CANDY_APPLE + { 20, 37, 37, 37 }, // SHOP_ITEM_TSHIRT + { 4, 8, 7, 10 }, // SHOP_ITEM_DONUT + { 3, 11, 15, 20 }, // SHOP_ITEM_COFFEE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_CUP + { 5, 19, 19, 22 }, // SHOP_ITEM_CHICKEN + { 4, 11, 21, 10 }, // SHOP_ITEM_LEMONADE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOX + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOTTLE + { 0, 0, 0, 0 }, // 28 + { 0, 0, 0, 0 }, // 29 + { 0, 0, 0, 0 }, // 30 + { 0, 0, 0, 0 }, // SHOP_ITEM_ADMISSION + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO2 + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO3 + { 2, 30, 30, 30 }, // SHOP_ITEM_PHOTO4 + { 5, 11, 11, 11 }, // SHOP_ITEM_PRETZEL + { 4, 13, 13, 20 }, // SHOP_ITEM_CHOCOLATE + { 3, 10, 20, 10 }, // SHOP_ITEM_ICED_TEA + { 5, 13, 11, 14 }, // SHOP_ITEM_FUNNEL_CAKE + { 8, 15, 20, 12 }, // SHOP_ITEM_SUNGLASSES + { 7, 17, 17, 20 }, // SHOP_ITEM_BEEF_NOODLES + { 6, 17, 17, 20 }, // SHOP_ITEM_FRIED_RICE_NOODLES + { 4, 13, 13, 15 }, // SHOP_ITEM_WONTON_SOUP + { 5, 14, 14, 16 }, // SHOP_ITEM_MEATBALL_SOUP + { 4, 11, 19, 11 }, // SHOP_ITEM_FRUIT_JUICE + { 4, 10, 14, 10 }, // SHOP_ITEM_SOYBEAN_MILK + { 3, 11, 14, 11 }, // SHOP_ITEM_SU_JONGKWA + { 5, 19, 19, 17 }, // SHOP_ITEM_SUB_SANDWICH + { 4, 8, 8, 8 }, // SHOP_ITEM_COOKIE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOWL_RED + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_DRINK_CARTON + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_JUICE_CUP + { 5, 16, 16, 20 }, // SHOP_ITEM_ROAST_SAUSAGE + { 0, 0, 0, 0 }, // SHOP_ITEM_EMPTY_BOWL_BLUE +}; diff --git a/src/ride/ride_data.h b/src/ride/ride_data.h index de03d982d0..411ed52e4d 100644 --- a/src/ride/ride_data.h +++ b/src/ride/ride_data.h @@ -121,6 +121,13 @@ enum { RIDE_TYPE_FLAG4_15 = (1 << 15), }; +typedef struct rct_shop_item_stats { + uint16 cost; + uint16 base_value; + uint16 hot_value; + uint16 cold_value; +} rct_shop_item_stats; + extern const bool hasRunningTrack[0x60]; extern const uint8 initialUpkeepCosts[0x60]; extern const uint8 costPerTrackPiece[0x60]; @@ -154,4 +161,6 @@ extern const uint16 RideCrookedHouseLength[1]; extern const rating_tuple RideRatings[91]; +extern const rct_shop_item_stats ShopItemStats[SHOP_ITEM_COUNT]; + #endif