mirror of https://github.com/OpenRCT2/OpenRCT2.git
refactor shop item strings
This commit is contained in:
parent
19f94b54e1
commit
6b72f9a555
|
@ -114,7 +114,7 @@ const char *language_get_string(rct_string_id id)
|
|||
|
||||
if (_languageCurrent.num_strings > id)
|
||||
openrctString = _languageCurrent.strings[id];
|
||||
else if (_languageFallback.num_strings > id)
|
||||
if (openrctString == NULL && _languageFallback.num_strings > id)
|
||||
openrctString = _languageFallback.strings[id];
|
||||
|
||||
if (id >= STR_OPENRCT2_BEGIN_STRING_ID) {
|
||||
|
|
|
@ -731,6 +731,7 @@ enum {
|
|||
STR_LAST_BREAKDOWN = 1808,
|
||||
STR_CURRENT_BREAKDOWN = 1809,
|
||||
|
||||
STR_CARRYING = 1810,
|
||||
STR_CANT_BUILD_PARK_ENTRANCE_HERE = 1811,
|
||||
|
||||
STR_ACTIONS = 1814,
|
||||
|
@ -795,7 +796,7 @@ enum {
|
|||
|
||||
STR_INCOME_PER_HOUR = 1873,
|
||||
STR_PROFIT_PER_HOUR = 1874,
|
||||
|
||||
STR_GUEST_ITEM_FORMAT = 1875,
|
||||
STR_INSPECT_RIDES = 1876,
|
||||
STR_FIX_RIDES = 1877,
|
||||
STR_INSPECTION = 1878,
|
||||
|
@ -877,10 +878,198 @@ enum {
|
|||
STR_ALTERNATIVE_COLOUR_SCHEME_2 = 2973,
|
||||
STR_ALTERNATIVE_COLOUR_SCHEME_3 = 2974,
|
||||
|
||||
STR_ITEM_START = 1988,
|
||||
STR_ITEM_SINGULAR_START = 2044,
|
||||
STR_ITEM2_START = 2090,
|
||||
STR_ITEM2_SINGULAR_START = 2134,
|
||||
STR_SHOP_ITEM_SINGULAR_BALLOON = 1988,
|
||||
STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY = 1989,
|
||||
STR_SHOP_ITEM_SINGULAR_PARK_MAP = 1990,
|
||||
STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO = 1991,
|
||||
STR_SHOP_ITEM_SINGULAR_UMBRELLA = 1992,
|
||||
STR_SHOP_ITEM_SINGULAR_DRINK = 1993,
|
||||
STR_SHOP_ITEM_SINGULAR_BURGER = 1994,
|
||||
STR_SHOP_ITEM_SINGULAR_CHIPS = 1995,
|
||||
STR_SHOP_ITEM_SINGULAR_ICE_CREAM = 1996,
|
||||
STR_SHOP_ITEM_SINGULAR_CANDYFLOSS = 1997,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_CAN = 1998,
|
||||
STR_SHOP_ITEM_SINGULAR_RUBBISH = 1999,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX = 2000,
|
||||
STR_SHOP_ITEM_SINGULAR_PIZZA = 2001,
|
||||
STR_SHOP_ITEM_SINGULAR_VOUCHER = 2002,
|
||||
STR_SHOP_ITEM_SINGULAR_POPCORN = 2003,
|
||||
STR_SHOP_ITEM_SINGULAR_HOT_DOG = 2004,
|
||||
STR_SHOP_ITEM_SINGULAR_TENTACLE = 2005,
|
||||
STR_SHOP_ITEM_SINGULAR_HAT = 2006,
|
||||
STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE = 2007,
|
||||
STR_SHOP_ITEM_SINGULAR_T_SHIRT = 2008,
|
||||
STR_SHOP_ITEM_SINGULAR_DOUGHNUT = 2009,
|
||||
STR_SHOP_ITEM_SINGULAR_COFFEE = 2010,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_CUP = 2011,
|
||||
STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN = 2012,
|
||||
STR_SHOP_ITEM_SINGULAR_LEMONADE = 2013,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_BOX = 2014,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE = 2015,
|
||||
STR_SHOP_ITEM_SINGULAR_PRETZEL = 2125,
|
||||
STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE = 2126,
|
||||
STR_SHOP_ITEM_SINGULAR_ICED_TEA = 2127,
|
||||
STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE = 2128,
|
||||
STR_SHOP_ITEM_SINGULAR_SUNGLASSES = 2129,
|
||||
STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES = 2130,
|
||||
STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES = 2131,
|
||||
STR_SHOP_ITEM_SINGULAR_WONTON_SOUP = 2132,
|
||||
STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP = 2133,
|
||||
STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE = 2134,
|
||||
STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK = 2135,
|
||||
STR_SHOP_ITEM_SINGULAR_SUJONGKWA = 2136,
|
||||
STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH = 2137,
|
||||
STR_SHOP_ITEM_SINGULAR_COOKIE = 2138,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED = 2139,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON = 2140,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP = 2141,
|
||||
STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE = 2142,
|
||||
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE = 2143,
|
||||
|
||||
STR_SHOP_ITEM_PLURAL_BALLOON = 2016,
|
||||
STR_SHOP_ITEM_PLURAL_CUDDLY_TOY = 2017,
|
||||
STR_SHOP_ITEM_PLURAL_PARK_MAP = 2018,
|
||||
STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO = 2019,
|
||||
STR_SHOP_ITEM_PLURAL_UMBRELLA = 2020,
|
||||
STR_SHOP_ITEM_PLURAL_DRINK = 2021,
|
||||
STR_SHOP_ITEM_PLURAL_BURGER = 2022,
|
||||
STR_SHOP_ITEM_PLURAL_CHIPS = 2023,
|
||||
STR_SHOP_ITEM_PLURAL_ICE_CREAM = 2024,
|
||||
STR_SHOP_ITEM_PLURAL_CANDYFLOSS = 2025,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_CAN = 2026,
|
||||
STR_SHOP_ITEM_PLURAL_RUBBISH = 2027,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX = 2028,
|
||||
STR_SHOP_ITEM_PLURAL_PIZZA = 2029,
|
||||
STR_SHOP_ITEM_PLURAL_VOUCHER = 2030,
|
||||
STR_SHOP_ITEM_PLURAL_POPCORN = 2031,
|
||||
STR_SHOP_ITEM_PLURAL_HOT_DOG = 2032,
|
||||
STR_SHOP_ITEM_PLURAL_TENTACLE = 2033,
|
||||
STR_SHOP_ITEM_PLURAL_HAT = 2034,
|
||||
STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE = 2035,
|
||||
STR_SHOP_ITEM_PLURAL_T_SHIRT = 2036,
|
||||
STR_SHOP_ITEM_PLURAL_DOUGHNUT = 2037,
|
||||
STR_SHOP_ITEM_PLURAL_COFFEE = 2038,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_CUP = 2039,
|
||||
STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN = 2040,
|
||||
STR_SHOP_ITEM_PLURAL_LEMONADE = 2041,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_BOX = 2042,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE = 2043,
|
||||
STR_SHOP_ITEM_PLURAL_PRETZEL = 2147,
|
||||
STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE = 2148,
|
||||
STR_SHOP_ITEM_PLURAL_ICED_TEA = 2149,
|
||||
STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE = 2150,
|
||||
STR_SHOP_ITEM_PLURAL_SUNGLASSES = 2151,
|
||||
STR_SHOP_ITEM_PLURAL_BEEF_NOODLES = 2152,
|
||||
STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES = 2153,
|
||||
STR_SHOP_ITEM_PLURAL_WONTON_SOUP = 2154,
|
||||
STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP = 2155,
|
||||
STR_SHOP_ITEM_PLURAL_FRUIT_JUICE = 2156,
|
||||
STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK = 2157,
|
||||
STR_SHOP_ITEM_PLURAL_SUJONGKWA = 2158,
|
||||
STR_SHOP_ITEM_PLURAL_SUB_SANDWICH = 2159,
|
||||
STR_SHOP_ITEM_PLURAL_COOKIE = 2160,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED = 2161,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON = 2162,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP = 2163,
|
||||
STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE = 2164,
|
||||
STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE = 2165,
|
||||
|
||||
STR_SHOP_ITEM_INDEFINITE_BALLOON = 2044,
|
||||
STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY = 2045,
|
||||
STR_SHOP_ITEM_INDEFINITE_PARK_MAP = 2046,
|
||||
STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO = 2047,
|
||||
STR_SHOP_ITEM_INDEFINITE_UMBRELLA = 2048,
|
||||
STR_SHOP_ITEM_INDEFINITE_DRINK = 2049,
|
||||
STR_SHOP_ITEM_INDEFINITE_BURGER = 2050,
|
||||
STR_SHOP_ITEM_INDEFINITE_CHIPS = 2051,
|
||||
STR_SHOP_ITEM_INDEFINITE_ICE_CREAM = 2052,
|
||||
STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS = 2053,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN = 2054,
|
||||
STR_SHOP_ITEM_INDEFINITE_RUBBISH = 2055,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX = 2056,
|
||||
STR_SHOP_ITEM_INDEFINITE_PIZZA = 2057,
|
||||
STR_SHOP_ITEM_INDEFINITE_VOUCHER = 2058,
|
||||
STR_SHOP_ITEM_INDEFINITE_POPCORN = 2059,
|
||||
STR_SHOP_ITEM_INDEFINITE_HOT_DOG = 2060,
|
||||
STR_SHOP_ITEM_INDEFINITE_TENTACLE = 2061,
|
||||
STR_SHOP_ITEM_INDEFINITE_HAT = 2062,
|
||||
STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE = 2063,
|
||||
STR_SHOP_ITEM_INDEFINITE_T_SHIRT = 2064,
|
||||
STR_SHOP_ITEM_INDEFINITE_DOUGHNUT = 2065,
|
||||
STR_SHOP_ITEM_INDEFINITE_COFFEE = 2066,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP = 2067,
|
||||
STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN = 2068,
|
||||
STR_SHOP_ITEM_INDEFINITE_LEMONADE = 2069,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX = 2070,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE = 2071,
|
||||
STR_SHOP_ITEM_INDEFINITE_PRETZEL = 2169,
|
||||
STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE = 2170,
|
||||
STR_SHOP_ITEM_INDEFINITE_ICED_TEA = 2171,
|
||||
STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE = 2172,
|
||||
STR_SHOP_ITEM_INDEFINITE_SUNGLASSES = 2173,
|
||||
STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES = 2174,
|
||||
STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES = 2175,
|
||||
STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP = 2176,
|
||||
STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP = 2177,
|
||||
STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE = 2178,
|
||||
STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK = 2179,
|
||||
STR_SHOP_ITEM_INDEFINITE_SUJONGKWA = 2180,
|
||||
STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH = 2181,
|
||||
STR_SHOP_ITEM_INDEFINITE_COOKIE = 2182,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED = 2183,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON = 2184,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP = 2185,
|
||||
STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE = 2186,
|
||||
STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE = 2187,
|
||||
|
||||
STR_SHOP_ITEM_DISPLAY_BALLOON = 2072,
|
||||
STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY = 2073,
|
||||
STR_SHOP_ITEM_DISPLAY_PARK_MAP = 2074,
|
||||
STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO = 2075,
|
||||
STR_SHOP_ITEM_DISPLAY_UMBRELLA = 2076,
|
||||
STR_SHOP_ITEM_DISPLAY_DRINK = 2077,
|
||||
STR_SHOP_ITEM_DISPLAY_BURGER = 2078,
|
||||
STR_SHOP_ITEM_DISPLAY_CHIPS = 2079,
|
||||
STR_SHOP_ITEM_DISPLAY_ICE_CREAM = 2080,
|
||||
STR_SHOP_ITEM_DISPLAY_CANDYFLOSS = 2081,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_CAN = 2082,
|
||||
STR_SHOP_ITEM_DISPLAY_RUBBISH = 2083,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX = 2084,
|
||||
STR_SHOP_ITEM_DISPLAY_PIZZA = 2085,
|
||||
STR_SHOP_ITEM_DISPLAY_VOUCHER = 2086,
|
||||
STR_SHOP_ITEM_DISPLAY_POPCORN = 2087,
|
||||
STR_SHOP_ITEM_DISPLAY_HOT_DOG = 2088,
|
||||
STR_SHOP_ITEM_DISPLAY_TENTACLE = 2089,
|
||||
STR_SHOP_ITEM_DISPLAY_HAT = 2090,
|
||||
STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE = 2091,
|
||||
STR_SHOP_ITEM_DISPLAY_T_SHIRT = 2092,
|
||||
STR_SHOP_ITEM_DISPLAY_DOUGHNUT = 2093,
|
||||
STR_SHOP_ITEM_DISPLAY_COFFEE = 2094,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_CUP = 2095,
|
||||
STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN = 2096,
|
||||
STR_SHOP_ITEM_DISPLAY_LEMONADE = 2097,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_BOX = 2098,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE = 2099,
|
||||
STR_SHOP_ITEM_DISPLAY_PRETZEL = 2191,
|
||||
STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE = 2192,
|
||||
STR_SHOP_ITEM_DISPLAY_ICED_TEA = 2193,
|
||||
STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE = 2194,
|
||||
STR_SHOP_ITEM_DISPLAY_SUNGLASSES = 2195,
|
||||
STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES = 2196,
|
||||
STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES = 2197,
|
||||
STR_SHOP_ITEM_DISPLAY_WONTON_SOUP = 2198,
|
||||
STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP = 2199,
|
||||
STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE = 2200,
|
||||
STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK = 2201,
|
||||
STR_SHOP_ITEM_DISPLAY_SUJONGKWA = 2202,
|
||||
STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH = 2203,
|
||||
STR_SHOP_ITEM_DISPLAY_COOKIE = 2204,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED = 2205,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON = 2206,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP = 2207,
|
||||
STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE = 2208,
|
||||
STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE = 2209,
|
||||
|
||||
|
||||
STR_STAFF_HANDYMEN_TAB_TIP = 2210,
|
||||
STR_STAFF_MECHANICS_TAB_TIP = 2211,
|
||||
|
@ -971,6 +1160,7 @@ enum {
|
|||
|
||||
STR_SELECT_SCENARIO = 2291,
|
||||
|
||||
STR_NOTHING = 2293,
|
||||
STR_CHANGE_BASE_LAND_TIP = 2294,
|
||||
STR_CHANGE_VERTICAL_LAND_TIP = 2295,
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "../localisation/localisation.h"
|
||||
#include "../management/finance.h"
|
||||
#include "../ride/ride.h"
|
||||
#include "../ride/ride_data.h"
|
||||
#include "marketing.h"
|
||||
#include "news_item.h"
|
||||
|
||||
|
@ -96,10 +97,7 @@ void marketing_update()
|
|||
RCT2_GLOBAL(0x013CE952, uint16) = ride->name;
|
||||
RCT2_GLOBAL(0x013CE954, uint32) = ride->name_arguments;
|
||||
} else if (campaign == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) {
|
||||
campaignItem += 2016;
|
||||
if (campaignItem >= 2048)
|
||||
campaignItem += 96;
|
||||
RCT2_GLOBAL(0x013CE952, uint16) = campaignItem;
|
||||
RCT2_GLOBAL(0x013CE952, uint16) = ShopItemStringIds[campaignItem].plural;
|
||||
}
|
||||
|
||||
news_item_add_to_queue(NEWS_ITEM_MONEY, STR_MARKETING_FINISHED_BASE + campaign, 0);
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "../config.h"
|
||||
#include "../openrct2.h"
|
||||
#include "../ride/ride.h"
|
||||
#include "../ride/ride_data.h"
|
||||
#include "../scenario.h"
|
||||
#include "../sprites.h"
|
||||
#include "../world/sprite.h"
|
||||
|
@ -5567,32 +5568,19 @@ void get_arguments_from_action(rct_peep* peep, uint32 *argument_1, uint32* argum
|
|||
* argument_1 (esi & ebx)
|
||||
* argument_2 (esi+2)
|
||||
*/
|
||||
void get_arguments_from_thought(rct_peep_thought thought, uint32* argument_1, uint32* argument_2){
|
||||
int esi = 0x9AC86C;
|
||||
void get_arguments_from_thought(rct_peep_thought thought, uint32* argument_1, uint32* argument_2)
|
||||
{
|
||||
int esi = 0x009AC86C;
|
||||
|
||||
if ((RCT2_ADDRESS(0x981DB1, uint16)[thought.type] & 0xFF) & 1){
|
||||
if ((RCT2_ADDRESS(0x00981DB1, uint16)[thought.type] & 0xFF) & 1) {
|
||||
rct_ride* ride = &g_ride_list[thought.item];
|
||||
esi = (int)(&(ride->name));
|
||||
}
|
||||
else if ((RCT2_ADDRESS(0x981DB1, uint16)[thought.type] & 0xFF) & 2){
|
||||
if (thought.item < 0x20){
|
||||
RCT2_GLOBAL(0x9AC86C, uint16) = thought.item + STR_ITEM_START;
|
||||
}
|
||||
else{
|
||||
RCT2_GLOBAL(0x9AC86C, uint16) = thought.item + STR_ITEM2_START;
|
||||
}
|
||||
}
|
||||
else if ((RCT2_ADDRESS(0x981DB1, uint16)[thought.type] & 0xFF) & 4){
|
||||
if (thought.item < 0x20){
|
||||
RCT2_GLOBAL(0x9AC86C, uint16) = thought.item + STR_ITEM_SINGULAR_START;
|
||||
}
|
||||
else
|
||||
{
|
||||
RCT2_GLOBAL(0x9AC86C, uint16) = thought.item + STR_ITEM2_SINGULAR_START;
|
||||
}
|
||||
}
|
||||
else{
|
||||
esi = 0x9AC864; //No thought?
|
||||
} else if ((RCT2_ADDRESS(0x00981DB1, uint16)[thought.type] & 0xFF) & 2) {
|
||||
RCT2_GLOBAL(0x009AC86C, uint16) = ShopItemStringIds[thought.item].singular;
|
||||
} else if ((RCT2_ADDRESS(0x00981DB1, uint16)[thought.type] & 0xFF) & 4) {
|
||||
RCT2_GLOBAL(0x009AC86C, uint16) = ShopItemStringIds[thought.item].indefinite;
|
||||
} else {
|
||||
esi = 0x009AC864; //No thought?
|
||||
}
|
||||
*argument_1 = ((thought.type + STR_THOUGHT_START) & 0xFFFF) | (*((uint16*)esi) << 16);
|
||||
*argument_2 = *((uint32*)(esi + 2)); //Always 0 apart from on rides?
|
||||
|
@ -5739,6 +5727,15 @@ int peep_is_mechanic(rct_peep *peep)
|
|||
);
|
||||
}
|
||||
|
||||
bool peep_has_item(rct_peep *peep, int peepItem)
|
||||
{
|
||||
if (peepItem < 32) {
|
||||
return peep->item_standard_flags & (1 << peepItem);
|
||||
} else {
|
||||
return peep->item_extra_flags & (1 << peepItem);
|
||||
}
|
||||
}
|
||||
|
||||
static int peep_has_food_standard_flag(rct_peep* peep){
|
||||
return peep->item_standard_flags &(
|
||||
PEEP_ITEM_DRINK |
|
||||
|
|
|
@ -589,6 +589,7 @@ int get_peep_face_sprite_large(rct_peep *peep);
|
|||
int peep_check_easteregg_name(int index, rct_peep *peep);
|
||||
int peep_get_easteregg_name_id(rct_peep *peep);
|
||||
int peep_is_mechanic(rct_peep *peep);
|
||||
bool peep_has_item(rct_peep *peep, int peepItem);
|
||||
int peep_has_food(rct_peep* peep);
|
||||
void peep_sprite_remove(rct_peep* peep);
|
||||
void peep_remove(rct_peep* peep);
|
||||
|
|
|
@ -1038,3 +1038,117 @@ const money8 DefaultShopItemPrice[SHOP_ITEM_COUNT] = {
|
|||
MONEY(0,00), // 54
|
||||
MONEY(0,00), // 55
|
||||
};
|
||||
|
||||
const rct_shop_item_string_types ShopItemStringIds[SHOP_ITEM_COUNT] = {
|
||||
{ STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON },
|
||||
{ STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY },
|
||||
{ STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO },
|
||||
{ STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA },
|
||||
{ STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK },
|
||||
{ STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER },
|
||||
{ STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM },
|
||||
{ STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN },
|
||||
{ STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BURGER_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BURGER_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BURGER_BOX },
|
||||
{ STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA },
|
||||
{ STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER },
|
||||
{ STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN },
|
||||
{ STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG },
|
||||
{ STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT },
|
||||
{ STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT },
|
||||
{ STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT },
|
||||
{ STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP },
|
||||
{ STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN },
|
||||
{ STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE },
|
||||
{ STR_NONE, STR_NONE, STR_NONE, STR_NONE },
|
||||
{ STR_NONE, STR_NONE, STR_NONE, STR_NONE },
|
||||
{ STR_NONE, STR_NONE, STR_NONE, STR_NONE },
|
||||
{ STR_NONE, STR_NONE, STR_NONE, STR_NONE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ON_RIDE_PHOTO, STR_SHOP_ITEM_PLURAL_ON_RIDE_PHOTO, STR_SHOP_ITEM_INDEFINITE_ON_RIDE_PHOTO, STR_SHOP_ITEM_DISPLAY_ON_RIDE_PHOTO },
|
||||
{ STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL },
|
||||
{ STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA },
|
||||
{ STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES },
|
||||
{ STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES },
|
||||
{ STR_SHOP_ITEM_SINGULAR_FRIED_RICE_NOODLES, STR_SHOP_ITEM_PLURAL_FRIED_RICE_NOODLES, STR_SHOP_ITEM_INDEFINITE_FRIED_RICE_NOODLES, STR_SHOP_ITEM_DISPLAY_FRIED_RICE_NOODLES },
|
||||
{ STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP },
|
||||
{ STR_SHOP_ITEM_SINGULAR_MEATBALL_SOUP, STR_SHOP_ITEM_PLURAL_MEATBALL_SOUP, STR_SHOP_ITEM_INDEFINITE_MEATBALL_SOUP, STR_SHOP_ITEM_DISPLAY_MEATBALL_SOUP },
|
||||
{ STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK },
|
||||
{ STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA },
|
||||
{ STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH },
|
||||
{ STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_RED, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_RED, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_RED },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_PLURAL_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_INDEFINITE_EMPTY_DRINK_CARTON, STR_SHOP_ITEM_DISPLAY_EMPTY_DRINK_CARTON },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_JUICE_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_JUICE_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_JUICE_CUP },
|
||||
{ STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE },
|
||||
{ STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_PLURAL_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOWL_BLUE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOWL_BLUE },
|
||||
};
|
||||
|
||||
const uint32 ShopItemImage[SHOP_ITEM_COUNT] = {
|
||||
5061, // SHOP_ITEM_BALLOON
|
||||
5062, // SHOP_ITEM_TOY
|
||||
5063, // SHOP_ITEM_MAP
|
||||
5064, // SHOP_ITEM_PHOTO
|
||||
5065, // SHOP_ITEM_UMBRELLA
|
||||
5066, // SHOP_ITEM_DRINK
|
||||
5067, // SHOP_ITEM_BURGER
|
||||
5068, // SHOP_ITEM_FRIES
|
||||
5069, // SHOP_ITEM_ICE_CREAM
|
||||
5070, // SHOP_ITEM_COTTON_CANDY
|
||||
5071, // SHOP_ITEM_EMPTY_CAN
|
||||
5072, // SHOP_ITEM_RUBBISH
|
||||
5073, // SHOP_ITEM_EMPTY_BURGER_BOX
|
||||
5074, // SHOP_ITEM_PIZZA
|
||||
5075, // SHOP_ITEM_VOUCHER
|
||||
5076, // SHOP_ITEM_POPCORN
|
||||
5077, // SHOP_ITEM_HOT_DOG
|
||||
5078, // SHOP_ITEM_TENTACLE
|
||||
5079, // SHOP_ITEM_HAT
|
||||
5080, // SHOP_ITEM_CANDY_APPLE
|
||||
5081, // SHOP_ITEM_TSHIRT
|
||||
5082, // SHOP_ITEM_DONUT
|
||||
5083, // SHOP_ITEM_COFFEE
|
||||
5084, // SHOP_ITEM_EMPTY_CUP
|
||||
5085, // SHOP_ITEM_CHICKEN
|
||||
5086, // SHOP_ITEM_LEMONADE
|
||||
5087, // SHOP_ITEM_EMPTY_BOX
|
||||
5088, // SHOP_ITEM_EMPTY_BOTTLE
|
||||
0, // 28
|
||||
0, // 29
|
||||
0, // 30
|
||||
0, // 31
|
||||
5089, // SHOP_ITEM_PHOTO2
|
||||
5090, // SHOP_ITEM_PHOTO3
|
||||
5091, // SHOP_ITEM_PHOTO4
|
||||
5092, // SHOP_ITEM_PRETZEL
|
||||
5093, // SHOP_ITEM_CHOCOLATE
|
||||
5094, // SHOP_ITEM_ICED_TEA
|
||||
5095, // SHOP_ITEM_FUNNEL_CAKE
|
||||
5096, // SHOP_ITEM_SUNGLASSES
|
||||
5097, // SHOP_ITEM_BEEF_NOODLES
|
||||
5098, // SHOP_ITEM_FRIED_RICE_NOODLES
|
||||
5099, // SHOP_ITEM_WONTON_SOUP
|
||||
5100, // SHOP_ITEM_MEATBALL_SOUP
|
||||
5101, // SHOP_ITEM_FRUIT_JUICE
|
||||
5102, // SHOP_ITEM_SOYBEAN_MILK
|
||||
5103, // SHOP_ITEM_SU_JONGKWA
|
||||
5104, // SHOP_ITEM_SUB_SANDWICH
|
||||
5105, // SHOP_ITEM_COOKIE
|
||||
5106, // SHOP_ITEM_EMPTY_BOWL_RED
|
||||
5107, // SHOP_ITEM_EMPTY_DRINK_CARTON
|
||||
5108, // SHOP_ITEM_EMPTY_JUICE_CUP
|
||||
5109, // SHOP_ITEM_ROAST_SAUSAGE
|
||||
5110, // SHOP_ITEM_EMPTY_BOWL_BLUE
|
||||
};
|
||||
|
|
|
@ -40,6 +40,13 @@ typedef struct {
|
|||
uint16 colour_use_flags;
|
||||
} rct_ride_entrance_definition;
|
||||
|
||||
typedef struct {
|
||||
rct_string_id singular; // Balloon
|
||||
rct_string_id plural; // Balloons
|
||||
rct_string_id indefinite; // a Balloon
|
||||
rct_string_id display; // "Diamond Heights" Balloon
|
||||
} rct_shop_item_string_types;
|
||||
|
||||
extern const bool hasRunningTrack[0x60];
|
||||
extern const uint8 initialUpkeepCosts[0x60];
|
||||
extern const uint8 costPerTrackPiece[0x60];
|
||||
|
@ -56,5 +63,7 @@ extern const rct_ride_entrance_definition RideEntranceDefinitions[RIDE_ENTRANCE_
|
|||
extern const uint8 RideLiftHillAdjustments[0x60];
|
||||
|
||||
extern const money8 DefaultShopItemPrice[SHOP_ITEM_COUNT];
|
||||
extern const rct_shop_item_string_types ShopItemStringIds[SHOP_ITEM_COUNT];
|
||||
extern const uint32 ShopItemImage[SHOP_ITEM_COUNT];
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "../management/marketing.h"
|
||||
#include "../management/research.h"
|
||||
#include "../ride/ride.h"
|
||||
#include "../ride/ride_data.h"
|
||||
#include "../scenario.h"
|
||||
#include "../sprites.h"
|
||||
#include "dropdown.h"
|
||||
|
@ -1201,10 +1202,7 @@ static void window_finances_marketing_paint(rct_window *w, rct_drawpixelinfo *dp
|
|||
RCT2_GLOBAL(0x013CE952 + 2, uint32) = ride->name_arguments;
|
||||
break;
|
||||
case ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE:
|
||||
shopString = gMarketingCampaignRideIndex[i] + 2016; // STR_BALLOONS+
|
||||
if (shopString >= 2048) // STR_AN_UMBRELLA
|
||||
shopString += 96; // STR_ON_RIDE_PHOTOS+
|
||||
RCT2_GLOBAL(0x013CE952, uint16) = shopString;
|
||||
RCT2_GLOBAL(0x013CE952, uint16) = ShopItemStringIds[gMarketingCampaignRideIndex[i]].plural;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,23 +21,24 @@
|
|||
#include "../addresses.h"
|
||||
#include "../config.h"
|
||||
#include "../game.h"
|
||||
#include "../world/map.h"
|
||||
#include "../input.h"
|
||||
#include "../management/marketing.h"
|
||||
#include "../peep/peep.h"
|
||||
#include "../peep/staff.h"
|
||||
#include "../ride/ride.h"
|
||||
#include "../ride/ride_data.h"
|
||||
#include "../scenario.h"
|
||||
#include "../localisation/localisation.h"
|
||||
#include "../world/sprite.h"
|
||||
#include "../sprites.h"
|
||||
#include "../interface/themes.h"
|
||||
#include "../interface/viewport.h"
|
||||
#include "../interface/widget.h"
|
||||
#include "../interface/window.h"
|
||||
#include "../world/footpath.h"
|
||||
#include "../input.h"
|
||||
#include "../world/map.h"
|
||||
#include "../world/sprite.h"
|
||||
#include "dropdown.h"
|
||||
#include "error.h"
|
||||
#include "../interface/themes.h"
|
||||
|
||||
enum WINDOW_GUEST_PAGE {
|
||||
WINDOW_GUEST_OVERVIEW,
|
||||
|
@ -1949,6 +1950,79 @@ void window_guest_inventory_invalidate(rct_window *w)
|
|||
window_align_tabs(w, WIDX_TAB_1, WIDX_TAB_6);
|
||||
}
|
||||
|
||||
static rct_string_id window_guest_inventory_format_item(rct_peep *peep, int item, uint8 *args)
|
||||
{
|
||||
rct_ride *ride;
|
||||
|
||||
// Default arguments
|
||||
RCT2_GLOBAL(args + 0, uint32) = ShopItemImage[item];
|
||||
RCT2_GLOBAL(args + 4, uint16) = ShopItemStringIds[item].display;
|
||||
RCT2_GLOBAL(args + 6, uint16) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME, uint16);
|
||||
RCT2_GLOBAL(args + 8, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32);
|
||||
|
||||
// Special overrides
|
||||
switch (item) {
|
||||
case SHOP_ITEM_BALLOON:
|
||||
RCT2_GLOBAL(args + 0, uint32) |= 0x20000000 | peep->balloon_colour << 19;
|
||||
break;
|
||||
case SHOP_ITEM_PHOTO:
|
||||
ride = GET_RIDE(peep->photo1_ride_ref);
|
||||
RCT2_GLOBAL(args + 6, uint16) = ride->name;
|
||||
RCT2_GLOBAL(args + 8, uint32) = ride->name_arguments;
|
||||
break;
|
||||
case SHOP_ITEM_UMBRELLA:
|
||||
RCT2_GLOBAL(args + 0, uint32) |= 0x20000000 | peep->umbrella_colour << 19;
|
||||
break;
|
||||
case SHOP_ITEM_VOUCHER:
|
||||
switch (peep->voucher_type) {
|
||||
case VOUCHER_TYPE_PARK_ENTRY_FREE:
|
||||
RCT2_GLOBAL(args + 6, uint16) = 2418;
|
||||
RCT2_GLOBAL(args + 8, uint16) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME, uint16);
|
||||
RCT2_GLOBAL(args + 10, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32);
|
||||
break;
|
||||
case VOUCHER_TYPE_RIDE_FREE:
|
||||
ride = GET_RIDE(peep->voucher_arguments);
|
||||
RCT2_GLOBAL(args + 6, uint16) = 2419;
|
||||
RCT2_GLOBAL(args + 8, uint16) = ride->name;
|
||||
RCT2_GLOBAL(args + 10, uint32) = ride->name_arguments;
|
||||
break;
|
||||
case VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE:
|
||||
RCT2_GLOBAL(args + 6, uint16) = 2420;
|
||||
RCT2_GLOBAL(args + 8, uint16) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME, uint16);
|
||||
RCT2_GLOBAL(args + 10, uint32) = RCT2_GLOBAL(RCT2_ADDRESS_PARK_NAME_ARGS, uint32);
|
||||
break;
|
||||
case VOUCHER_TYPE_FOOD_OR_DRINK_FREE:
|
||||
RCT2_GLOBAL(args + 6, uint16) = 2421;
|
||||
RCT2_GLOBAL(args + 8, uint16) = ShopItemStringIds[peep->voucher_arguments].singular;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SHOP_ITEM_HAT:
|
||||
RCT2_GLOBAL(args + 0, uint32) |= 0x20000000 | peep->hat_colour << 19;
|
||||
break;
|
||||
case SHOP_ITEM_TSHIRT:
|
||||
RCT2_GLOBAL(args + 0, uint32) |= 0x20000000 | peep->tshirt_colour << 19;
|
||||
break;
|
||||
case SHOP_ITEM_PHOTO2:
|
||||
ride = GET_RIDE(peep->photo2_ride_ref);
|
||||
RCT2_GLOBAL(args + 6, uint16) = ride->name;
|
||||
RCT2_GLOBAL(args + 8, uint32) = ride->name_arguments;
|
||||
break;
|
||||
case SHOP_ITEM_PHOTO3:
|
||||
ride = GET_RIDE(peep->photo3_ride_ref);
|
||||
RCT2_GLOBAL(args + 6, uint16) = ride->name;
|
||||
RCT2_GLOBAL(args + 8, uint32) = ride->name_arguments;
|
||||
break;
|
||||
case SHOP_ITEM_PHOTO4:
|
||||
ride = GET_RIDE(peep->photo4_ride_ref);
|
||||
RCT2_GLOBAL(args + 6, uint16) = ride->name;
|
||||
RCT2_GLOBAL(args + 8, uint32) = ride->name_arguments;
|
||||
break;
|
||||
}
|
||||
|
||||
return STR_GUEST_ITEM_FORMAT;
|
||||
}
|
||||
|
||||
/* rct2: 0x00697F81 */
|
||||
void window_guest_inventory_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
||||
{
|
||||
|
@ -1960,120 +2034,30 @@ void window_guest_inventory_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
window_guest_thoughts_tab_paint(w, dpi);
|
||||
window_guest_inventory_tab_paint(w, dpi);
|
||||
|
||||
rct_peep* peep = GET_PEEP(w->number);
|
||||
rct_peep *peep = GET_PEEP(w->number);
|
||||
|
||||
//cx
|
||||
int x = w->x + window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].left + 4;
|
||||
//dx
|
||||
int y = w->y + window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].top + 2;
|
||||
rct_widget *pageBackgroundWidget = &window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND];
|
||||
int x = w->x + pageBackgroundWidget->left + 4;
|
||||
int y = w->y + pageBackgroundWidget->top + 2;
|
||||
int itemNameWidth = pageBackgroundWidget->right - pageBackgroundWidget->left - 8;
|
||||
|
||||
int max_y = w->y + w->height - 22;
|
||||
int no_items = 0;
|
||||
|
||||
gfx_draw_string_left(dpi, 1810, (void*)0, 0, x, y);
|
||||
int maxY = w->y + w->height - 22;
|
||||
int numItems = 0;
|
||||
|
||||
gfx_draw_string_left(dpi, STR_CARRYING, NULL, 0, x, y);
|
||||
y += 10;
|
||||
|
||||
for (int i = 0; y < max_y && i < 28; ++i){
|
||||
int item_flag = 1 << i;
|
||||
if (!(peep->item_standard_flags & item_flag))continue;
|
||||
no_items++;
|
||||
|
||||
RCT2_GLOBAL(0x13CE952, uint32) = 5061 + i;
|
||||
|
||||
switch (item_flag){
|
||||
case PEEP_ITEM_TSHIRT:
|
||||
RCT2_GLOBAL(0x13CE952, uint32) |= 0x20000000 | peep->tshirt_colour << 19;
|
||||
break;
|
||||
case PEEP_ITEM_HAT:
|
||||
RCT2_GLOBAL(0x13CE952, uint32) |= 0x20000000 | peep->hat_colour << 19;
|
||||
break;
|
||||
case PEEP_ITEM_BALLOON:
|
||||
RCT2_GLOBAL(0x13CE952, uint32) |= 0x20000000 | peep->balloon_colour << 19;
|
||||
break;
|
||||
case PEEP_ITEM_UMBRELLA:
|
||||
RCT2_GLOBAL(0x13CE952, uint32) |= 0x20000000 | peep->umbrella_colour << 19;
|
||||
break;
|
||||
}
|
||||
|
||||
int string_format = 2072 + i;
|
||||
if (string_format >= 2104) string_format += 84; //??? i is never 32
|
||||
|
||||
RCT2_GLOBAL(0x13CE956, uint16) = string_format;
|
||||
RCT2_GLOBAL(0x13CE958, uint16) = RCT2_GLOBAL(0x13573D4, uint16);
|
||||
RCT2_GLOBAL(0x13CE95A, uint32) = RCT2_GLOBAL(0x13573D8, uint32);
|
||||
rct_ride* ride;
|
||||
|
||||
switch (item_flag){
|
||||
case PEEP_ITEM_PHOTO:
|
||||
ride = GET_RIDE(peep->photo1_ride_ref);
|
||||
RCT2_GLOBAL(0x13CE958, uint16) = ride->name;
|
||||
RCT2_GLOBAL(0x13CE95A, uint32) = ride->name_arguments;
|
||||
break;
|
||||
case PEEP_ITEM_VOUCHER:
|
||||
RCT2_GLOBAL(0x13CE958, uint16) = peep->voucher_type + 2418;
|
||||
RCT2_GLOBAL(0x13CE95A, uint16) = RCT2_GLOBAL(0x13573D4, uint16);
|
||||
RCT2_GLOBAL(0x13CE95C, uint32) = RCT2_GLOBAL(0x13573D8, uint32);
|
||||
|
||||
if (peep->voucher_type == VOUCHER_TYPE_PARK_ENTRY_FREE || peep->voucher_type == VOUCHER_TYPE_PARK_ENTRY_HALF_PRICE)break;
|
||||
|
||||
int voucher_id = peep->voucher_arguments + 1988;
|
||||
if (voucher_id >= 2020) voucher_id += 102;
|
||||
|
||||
RCT2_GLOBAL(0x13CE95A, uint16) = voucher_id;
|
||||
|
||||
if (peep->voucher_type == VOUCHER_TYPE_FOOD_OR_DRINK_FREE)break;
|
||||
ride = GET_RIDE(peep->voucher_arguments);
|
||||
RCT2_GLOBAL(0x13CE95A, uint16) = ride->name;
|
||||
RCT2_GLOBAL(0x13CE95C, uint32) = ride->name_arguments;
|
||||
break;
|
||||
}
|
||||
|
||||
int width = window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].right
|
||||
- window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].left
|
||||
- 8;
|
||||
|
||||
y += gfx_draw_string_left_wrapped(dpi, (void*)0x13CE952, x, y, width, 1875, 0);
|
||||
for (int item = 0; item < SHOP_ITEM_COUNT; item++) {
|
||||
if (y >= maxY) break;
|
||||
if (!peep_has_item(peep, item)) continue;
|
||||
|
||||
void *args = (void*)0x013CE952;
|
||||
rct_string_id stringId = window_guest_inventory_format_item(peep, item, (uint8*)args);
|
||||
y += gfx_draw_string_left_wrapped(dpi, args, x, y, itemNameWidth, stringId, 0);
|
||||
numItems++;
|
||||
}
|
||||
|
||||
for (int i = 0; y < max_y && i < 22; ++i){
|
||||
int item_flag = 1 << i;
|
||||
|
||||
if (!(peep->item_extra_flags & item_flag))continue;
|
||||
no_items++;
|
||||
|
||||
RCT2_GLOBAL(0x13CE952, uint32) = 5089 + i;
|
||||
RCT2_GLOBAL(0x13CE956, uint16) = 2188 + i;
|
||||
RCT2_GLOBAL(0x13CE958, uint16) = RCT2_GLOBAL(0x13573D4, uint16);
|
||||
RCT2_GLOBAL(0x13CE95A, uint32) = RCT2_GLOBAL(0x13573D8, uint32);
|
||||
|
||||
if (i < 3){
|
||||
int ride_id = 0;
|
||||
switch (item_flag){
|
||||
case PEEP_ITEM_PHOTO2:
|
||||
ride_id = peep->photo2_ride_ref;
|
||||
break;
|
||||
case PEEP_ITEM_PHOTO3:
|
||||
ride_id = peep->photo3_ride_ref;
|
||||
break;
|
||||
case PEEP_ITEM_PHOTO4:
|
||||
ride_id = peep->photo4_ride_ref;
|
||||
break;
|
||||
}
|
||||
|
||||
rct_ride* ride = GET_RIDE(ride_id);
|
||||
RCT2_GLOBAL(0x13CE958, uint16) = ride->name;
|
||||
RCT2_GLOBAL(0x13CE95A, uint32) = ride->name_arguments;
|
||||
}
|
||||
|
||||
int width = window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].right
|
||||
- window_guest_inventory_widgets[WIDX_PAGE_BACKGROUND].left
|
||||
- 8;
|
||||
|
||||
y += gfx_draw_string_left_wrapped(dpi, (void*)0x13CE952, x, y, width, 1875, 0);
|
||||
}
|
||||
|
||||
if (!no_items){
|
||||
gfx_draw_string_left(dpi, 2293, (void*)0, 0, x, y);
|
||||
if (numItems == 0) {
|
||||
gfx_draw_string_left(dpi, STR_NOTHING, (void*)0, 0, x, y);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "../interface/window.h"
|
||||
#include "../management/marketing.h"
|
||||
#include "../ride/ride.h"
|
||||
#include "../ride/ride_data.h"
|
||||
#include "dropdown.h"
|
||||
#include "../interface/themes.h"
|
||||
|
||||
|
@ -252,12 +253,8 @@ static void window_new_campaign_mousedown(int widgetIndex, rct_window *w, rct_wi
|
|||
if (window_new_campaign_shop_items[i] == 255)
|
||||
break;
|
||||
|
||||
rct_string_id itemStringId = window_new_campaign_shop_items[i] + 2016;
|
||||
if (itemStringId >= 2048)
|
||||
itemStringId += 96;
|
||||
|
||||
gDropdownItemsFormat[i] = 1142;
|
||||
gDropdownItemsArgs[i] = itemStringId;
|
||||
gDropdownItemsArgs[i] = ShopItemStringIds[window_new_campaign_shop_items[i]].plural;
|
||||
numItems++;
|
||||
}
|
||||
|
||||
|
@ -316,10 +313,7 @@ static void window_new_campaign_dropdown(rct_window *w, int widgetIndex, int dro
|
|||
return;
|
||||
|
||||
if (w->campaign.campaign_type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) {
|
||||
rct_string_id itemStringId = (uint16)gDropdownItemsArgs[dropdownIndex] - 2016;
|
||||
if (itemStringId >= 32)
|
||||
itemStringId -= 96;
|
||||
w->campaign.ride_id = itemStringId;
|
||||
w->campaign.ride_id = window_new_campaign_shop_items[dropdownIndex];
|
||||
} else {
|
||||
w->campaign.ride_id = window_new_campaign_rides[dropdownIndex];
|
||||
}
|
||||
|
@ -358,17 +352,13 @@ static void window_new_campaign_invalidate(rct_window *w)
|
|||
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WWT_DROPDOWN_BUTTON;
|
||||
window_new_campaign_widgets[WIDX_RIDE_LABEL].image = STR_MARKETING_ITEM;
|
||||
if (w->campaign.ride_id != SELECTED_RIDE_UNDEFINED) {
|
||||
rct_string_id itemStringId = w->campaign.ride_id + 2016;
|
||||
if (itemStringId >= 2048)
|
||||
itemStringId += 96;
|
||||
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].image = itemStringId;
|
||||
window_new_campaign_widgets[WIDX_RIDE_DROPDOWN].image = ShopItemStringIds[w->campaign.ride_id].plural;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Set current number of weeks spinner
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_COMMON_FORMAT_ARGS, uint16) = w->campaign.no_weeks;
|
||||
window_new_campaign_widgets[WIDX_WEEKS_SPINNER].image = w->campaign.no_weeks == 1 ? STR_MARKETING_1_WEEK : STR_X_WEEKS;
|
||||
// Set current number of weeks spinner (moved to paint due to required parameter)
|
||||
window_new_campaign_widgets[WIDX_WEEKS_SPINNER].image = STR_NONE;
|
||||
|
||||
// Enable / disable start button based on ride dropdown
|
||||
w->disabled_widgets &= ~(1 << WIDX_START_BUTTON);
|
||||
|
@ -386,6 +376,17 @@ static void window_new_campaign_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
|
||||
window_draw_widgets(w, dpi);
|
||||
|
||||
// Number of weeks
|
||||
rct_widget *spinnerWidget = &window_new_campaign_widgets[WIDX_WEEKS_SPINNER];
|
||||
gfx_draw_string_left(
|
||||
dpi,
|
||||
w->campaign.no_weeks == 1 ? STR_MARKETING_1_WEEK : STR_X_WEEKS,
|
||||
&w->campaign.no_weeks,
|
||||
w->colours[0],
|
||||
w->x + spinnerWidget->left + 1,
|
||||
w->y + spinnerWidget->top
|
||||
);
|
||||
|
||||
x = w->x + 14;
|
||||
y = w->y + 60;
|
||||
|
||||
|
|
|
@ -5966,11 +5966,7 @@ static void window_ride_customer_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
// Primary shop items sold
|
||||
shopItem = ride_get_entry(ride)->shop_item;
|
||||
if (shopItem != 0xFF) {
|
||||
stringId = 2016 + shopItem;
|
||||
if (stringId >= 2048)
|
||||
stringId += 96;
|
||||
|
||||
RCT2_GLOBAL(0x013CE952 + 0, uint16) = stringId;
|
||||
RCT2_GLOBAL(0x013CE952 + 0, uint16) = ShopItemStringIds[shopItem].plural;
|
||||
RCT2_GLOBAL(0x013CE952 + 2, uint32) = ride->no_primary_items_sold;
|
||||
gfx_draw_string_left(dpi, STR_ITEMS_SOLD, (void*)0x013CE952, 0, x, y);
|
||||
y += 10;
|
||||
|
@ -5981,11 +5977,7 @@ static void window_ride_customer_paint(rct_window *w, rct_drawpixelinfo *dpi)
|
|||
RCT2_GLOBAL(0x0097D7CB + (ride->type * 4), uint8) :
|
||||
ride_get_entry(ride)->shop_item_secondary;
|
||||
if (shopItem != 0xFF) {
|
||||
stringId = 2016 + shopItem;
|
||||
if (stringId >= 2048)
|
||||
stringId += 96;
|
||||
|
||||
RCT2_GLOBAL(0x013CE952 + 0, uint16) = stringId;
|
||||
RCT2_GLOBAL(0x013CE952 + 0, uint16) = ShopItemStringIds[shopItem].plural;
|
||||
RCT2_GLOBAL(0x013CE952 + 2, uint32) = ride->no_secondary_items_sold;
|
||||
gfx_draw_string_left(dpi, STR_ITEMS_SOLD, (void*)0x013CE952, 0, x, y);
|
||||
y += 10;
|
||||
|
|
Loading…
Reference in New Issue