move Litter functions into class and refactor

This commit is contained in:
duncanspumpkin 2021-05-13 08:09:48 +01:00 committed by Gymnasiast
parent 24a5446e8c
commit 8282fde827
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
12 changed files with 118 additions and 114 deletions

View File

@ -657,10 +657,11 @@ static void window_title_command_editor_tool_down(
}
else if (litter != nullptr)
{
if (litter->SubType < std::size(litterNames))
auto name = litter->GetName();
if (name != STR_NONE)
{
validSprite = true;
format_string(_command.SpriteName, USER_STRING_MAX_LENGTH, litterNames[litter->SubType], nullptr);
format_string(_command.SpriteName, USER_STRING_MAX_LENGTH, name, nullptr);
}
}
else if (balloon != nullptr)

View File

@ -77,9 +77,9 @@ template<> void PaintEntity(paint_session* session, const Litter* litter, int32_
imageDirection >>= 3;
// Some litter types have only 1 direction so remove
// anything that isn't required.
imageDirection &= litter_sprites[litter->SubType].direction_mask;
imageDirection &= litter_sprites[EnumValue(litter->SubType)].direction_mask;
uint32_t image_id = imageDirection + litter_sprites[litter->SubType].base_id;
uint32_t image_id = imageDirection + litter_sprites[EnumValue(litter->SubType)].base_id;
// In the following call to PaintAddImageAsParent, we add 4 (instead of 2) to the
// bound_box_offset_z to make sure litter is drawn on top of railways

View File

@ -5223,18 +5223,18 @@ void Guest::UpdateWalking()
{
if ((0xFFFF & scenario_rand()) <= 4096)
{
static constexpr const LitterType litter_types[] = {
LITTER_TYPE_EMPTY_CAN,
LITTER_TYPE_RUBBISH,
LITTER_TYPE_EMPTY_BURGER_BOX,
LITTER_TYPE_EMPTY_CUP,
static constexpr const Litter::Type litter_types[] = {
Litter::Type::EmptyCan,
Litter::Type::Rubbish,
Litter::Type::BurgerBox,
Litter::Type::EmptyCup,
};
auto litterType = litter_types[scenario_rand() & 0x3];
int32_t litterX = x + (scenario_rand() & 0x7) - 3;
int32_t litterY = y + (scenario_rand() & 0x7) - 3;
Direction litterDirection = (scenario_rand() & 0x3);
litter_create({ litterX, litterY, z, litterDirection }, litterType);
Litter::Create({ litterX, litterY, z, litterDirection }, litterType);
}
}
}
@ -5244,13 +5244,13 @@ void Guest::UpdateWalking()
&& ((0xFFFF & scenario_rand()) <= 4096))
{
int32_t container = bitscanforward(GetEmptyContainerFlags());
LitterType litterType = LITTER_TYPE_SICK;
auto litterType = Litter::Type::Sick;
if (container != -1)
{
auto item = static_cast<ShopItem>(container);
RemoveItem(item);
litterType = LitterType(GetShopItemDescriptor(item).LitterType);
litterType = Litter::Type(GetShopItemDescriptor(item).Type);
}
WindowInvalidateFlags |= PEEP_INVALIDATE_PEEP_INVENTORY;
@ -5260,7 +5260,7 @@ void Guest::UpdateWalking()
int32_t litterY = y + (scenario_rand() & 0x7) - 3;
Direction litterDirection = (scenario_rand() & 0x3);
litter_create({ litterX, litterY, z, litterDirection }, litterType);
Litter::Create({ litterX, litterY, z, litterDirection }, litterType);
}
}
@ -5798,12 +5798,12 @@ void Guest::UpdateUsingBin()
continue;
}
LitterType litterType = LitterType(GetShopItemDescriptor(item).LitterType);
auto litterType = Litter::Type(GetShopItemDescriptor(item).Type);
int32_t litterX = x + (scenario_rand() & 7) - 3;
int32_t litterY = y + (scenario_rand() & 7) - 3;
litter_create({ litterX, litterY, z, static_cast<Direction>(scenario_rand() & 3) }, litterType);
Litter::Create({ litterX, litterY, z, static_cast<Direction>(scenario_rand() & 3) }, litterType);
RemoveItem(item);
WindowInvalidateFlags |= PEEP_INVALIDATE_PEEP_INVENTORY;

View File

@ -474,7 +474,7 @@ std::optional<CoordsXY> Peep::UpdateAction(int16_t& xy_distance)
WindowInvalidateFlags |= PEEP_INVALIDATE_PEEP_2;
// Create sick at location
litter_create({ x, y, z, sprite_direction }, (sprite_index & 1) ? LITTER_TYPE_SICK_ALT : LITTER_TYPE_SICK);
Litter::Create({ x, y, z, sprite_direction }, (sprite_index & 1) ? Litter::Type::SickAlt : Litter::Type::Sick);
static constexpr OpenRCT2::Audio::SoundId coughs[4] = { OpenRCT2::Audio::SoundId::Cough1, OpenRCT2::Audio::SoundId::Cough2,
OpenRCT2::Audio::SoundId::Cough3,
@ -1954,7 +1954,7 @@ static void peep_footpath_move_forward(Peep* peep, const CoordsXYE& coords, bool
continue;
litter_count++;
if (litter->SubType != LITTER_TYPE_SICK && litter->SubType != LITTER_TYPE_SICK_ALT)
if (litter->SubType != Litter::Type::Sick && litter->SubType != Litter::Type::SickAlt)
continue;
litter_count--;

View File

@ -1343,7 +1343,7 @@ void Staff::UpdateSweeping()
if (Action == PeepActionType::StaffSweep && ActionFrame == 8)
{
// Remove sick at this location
litter_remove_at({ x, y, z });
Litter::RemoveAt({ x, y, z });
StaffLitterSwept++;
WindowInvalidateFlags |= PEEP_INVALIDATE_STAFF_STATS;
}

View File

@ -2886,7 +2886,7 @@ template<> void S4Importer::ImportEntity<Litter>(const RCT12SpriteBase& srcBase)
auto* src = static_cast<const RCT12SpriteLitter*>(&srcBase);
ImportEntityCommonProperties(dst, src);
dst->SubType = LitterType(src->type);
dst->SubType = Litter::Type(src->type);
}
template<> void S4Importer::ImportEntity<SteamParticle>(const RCT12SpriteBase& srcBase)

View File

@ -1801,7 +1801,7 @@ template<> void S6Importer::ImportEntity<Litter>(const RCT12SpriteBase& baseSrc)
auto dst = CreateEntityAt<Litter>(baseSrc.sprite_index);
auto src = static_cast<const RCT12SpriteLitter*>(&baseSrc);
ImportEntityCommonProperties(dst, src);
dst->SubType = LitterType(src->type);
dst->SubType = Litter::Type(src->type);
dst->creationTick = src->creationTick;
}

View File

@ -25,60 +25,60 @@ uint64_t gSamePriceThroughoutPark;
/** rct2: 0x00982164 (cost, base value, hot and cold value); 0x00982358 (default price) */
constexpr ShopItemDescriptor ShopItems[EnumValue(ShopItem::Count)] = {
// Item, Cost, Base value, Hot value, Cold value, Default price, Image, Price label, Singular, Plural, Indefinite, Display (in guest inventory), Shop Item Flag, Litter type, Consumption time, Discard Container, Peep thought price too much, Peep thought price good value,
/* ShopItem::Balloon */ { MONEY(0, 30), MONEY(1, 40), MONEY(1, 40), MONEY(1, 40), MONEY(0, 90), SPR_SHOP_ITEM_BALLOON, { STR_SHOP_ITEM_PRICE_LABEL_BALLOON, STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::BalloonMuch, PeepThoughtType::Balloon },
/* ShopItem::Toy */ { MONEY(1, 50), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(2, 50), SPR_SHOP_ITEM_TOY, { STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY, STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::ToyMuch, PeepThoughtType::Toy },
/* ShopItem::Map */ { MONEY(0, 10), MONEY(0, 70), MONEY(0, 70), MONEY(0, 80), MONEY(0, 60), SPR_SHOP_ITEM_MAP, { STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP, STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::MapMuch, PeepThoughtType::Map },
/* ShopItem::Photo */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::PhotoMuch, PeepThoughtType::Photo },
/* ShopItem::Umbrella */ { MONEY(2, 00), MONEY(3, 50), MONEY(2, 50), MONEY(5, 00), MONEY(2, 50), SPR_SHOP_ITEM_UMBRELLA, { STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA, STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::UmbrellaMuch, PeepThoughtType::Umbrella },
/* ShopItem::Drink */ { MONEY(0, 30), MONEY(1, 20), MONEY(2, 00), MONEY(1, 00), MONEY(1, 20), SPR_SHOP_ITEM_DRINK, { STR_SHOP_ITEM_PRICE_LABEL_DRINK, STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 100, ShopItem::EmptyCan, PeepThoughtType::DrinkMuch, PeepThoughtType::Drink },
/* ShopItem::Burger */ { MONEY(0, 50), MONEY(1, 90), MONEY(1, 90), MONEY(2, 20), MONEY(1, 50), SPR_SHOP_ITEM_BURGER, { STR_SHOP_ITEM_PRICE_LABEL_BURGER, STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 150, ShopItem::EmptyBurgerBox, PeepThoughtType::BurgerMuch, PeepThoughtType::Burger },
/* ShopItem::Chips */ { MONEY(0, 40), MONEY(1, 60), MONEY(1, 60), MONEY(1, 80), MONEY(1, 50), SPR_SHOP_ITEM_CHIPS, { STR_SHOP_ITEM_PRICE_LABEL_CHIPS, STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 120, ShopItem::Rubbish, PeepThoughtType::ChipsMuch, PeepThoughtType::Chips },
/* ShopItem::IceCream */ { MONEY(0, 40), MONEY(1, 00), MONEY(1, 50), MONEY(0, 60), MONEY(0, 90), SPR_SHOP_ITEM_ICE_CREAM, { STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM, STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 60, ShopItem::None, PeepThoughtType::IceCreamMuch, PeepThoughtType::IceCream },
/* ShopItem::Candyfloss */ { MONEY(0, 30), MONEY(0, 90), MONEY(0, 90), MONEY(0, 60), MONEY(0, 80), SPR_SHOP_ITEM_CANDYFLOSS, { STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS, STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 50, ShopItem::None, PeepThoughtType::CandyflossMuch, PeepThoughtType::Candyfloss },
/* ShopItem::EmptyCan */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_CAN, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN, STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_CAN, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Rubbish */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_RUBBISH, { STR_SHOP_ITEM_PRICE_LABEL_RUBBISH, STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyBurgerBox */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BURGER_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_BURGER_BOX, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Pizza */ { MONEY(0, 60), MONEY(2, 10), MONEY(2, 10), MONEY(2, 50), MONEY(1, 60), SPR_SHOP_ITEM_PIZZA, { STR_SHOP_ITEM_PRICE_LABEL_PIZZA, STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 150, ShopItem::Rubbish, PeepThoughtType::PizzaMuch, PeepThoughtType::Pizza },
/* ShopItem::Voucher */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_VOUCHER, { STR_SHOP_ITEM_PRICE_LABEL_VOUCHER, STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER }, 0, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Popcorn */ { MONEY(0, 50), MONEY(1, 30), MONEY(1, 30), MONEY(1, 10), MONEY(1, 20), SPR_SHOP_ITEM_POPCORN, { STR_SHOP_ITEM_PRICE_LABEL_POPCORN, STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 75, ShopItem::Rubbish, PeepThoughtType::PopcornMuch, PeepThoughtType::Popcorn },
/* ShopItem::HotDog */ { MONEY(0, 50), MONEY(1, 70), MONEY(1, 70), MONEY(2, 00), MONEY(1, 00), SPR_SHOP_ITEM_HOT_DOG, { STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG, STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 133, ShopItem::None, PeepThoughtType::HotDogMuch, PeepThoughtType::HotDog },
/* ShopItem::Tentacle */ { MONEY(1, 10), MONEY(2, 20), MONEY(2, 00), MONEY(1, 80), MONEY(1, 50), SPR_SHOP_ITEM_TENTACLE, { STR_SHOP_ITEM_PRICE_LABEL_TENTACLE, STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 110, ShopItem::None, PeepThoughtType::TentacleMuch, PeepThoughtType::Tentacle },
/* ShopItem::Hat */ { MONEY(0, 90), MONEY(2, 70), MONEY(3, 20), MONEY(2, 40), MONEY(1, 50), SPR_SHOP_ITEM_HAT, { STR_SHOP_ITEM_PRICE_LABEL_HAT, STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::HatMuch, PeepThoughtType::Hat },
/* ShopItem::ToffeeApple */ { MONEY(0, 40), MONEY(1, 00), MONEY(1, 00), MONEY(1, 00), MONEY(0, 70), SPR_SHOP_ITEM_TOFFEE_APPLE, { STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE, STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 50, ShopItem::None, PeepThoughtType::ToffeeAppleMuch, PeepThoughtType::ToffeeApple },
/* ShopItem::TShirt */ { MONEY(2, 00), MONEY(3, 70), MONEY(3, 70), MONEY(3, 70), MONEY(3, 00), SPR_SHOP_ITEM_TSHIRT, { STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT, STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::TshirtMuch, PeepThoughtType::Tshirt },
/* ShopItem::Doughnut */ { MONEY(0, 40), MONEY(0, 80), MONEY(0, 70), MONEY(1, 00), MONEY(0, 70), SPR_SHOP_ITEM_DOUGHNUT, { STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT, STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 80, ShopItem::None, PeepThoughtType::DoughnutMuch, PeepThoughtType::Doughnut },
/* ShopItem::Coffee */ { MONEY(0, 30), MONEY(1, 10), MONEY(1, 50), MONEY(2, 00), MONEY(1, 20), SPR_SHOP_ITEM_COFFEE, { STR_SHOP_ITEM_PRICE_LABEL_COFFEE, STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 90, ShopItem::EmptyCup, PeepThoughtType::CoffeeMuch, PeepThoughtType::Coffee },
/* ShopItem::EmptyCup */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_CUP, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Chicken */ { MONEY(0, 50), MONEY(1, 90), MONEY(1, 90), MONEY(2, 20), MONEY(1, 50), SPR_SHOP_ITEM_CHICKEN, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN, STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_EMPTY_BOX, 170, ShopItem::EmptyBox, PeepThoughtType::ChickenMuch, PeepThoughtType::Chicken },
/* ShopItem::Lemonade */ { MONEY(0, 40), MONEY(1, 10), MONEY(2, 10), MONEY(1, 00), MONEY(1, 20), SPR_SHOP_ITEM_LEMONADE, { STR_SHOP_ITEM_PRICE_LABEL_LEMONADE, STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_EMPTY_BOTTLE, 115, ShopItem::EmptyBottle, PeepThoughtType::LemonadeMuch, PeepThoughtType::Lemonade },
/* ShopItem::EmptyBox */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_BOX, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyBottle */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOTTLE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_BOTTLE, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* 28 */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, 0, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* 29 */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, 0, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* 30 */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, 0, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Admission */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, 0, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Photo2 */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO2, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::Photo2Much, PeepThoughtType::Photo2 },
/* ShopItem::Photo3 */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO3, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::Photo3Much, PeepThoughtType::Photo3 },
/* ShopItem::Photo4 */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO4, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::Photo4Much, PeepThoughtType::Photo4 },
/* ShopItem::Pretzel */ { MONEY(0, 50), MONEY(1, 10), MONEY(1, 10), MONEY(1, 10), MONEY(1, 10), SPR_SHOP_ITEM_PRETZEL, { STR_SHOP_ITEM_PRICE_LABEL_PRETZEL, STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 70, ShopItem::None, PeepThoughtType::PretzelMuch, PeepThoughtType::Pretzel },
/* ShopItem::Chocolate */ { MONEY(0, 40), MONEY(1, 30), MONEY(1, 30), MONEY(2, 00), MONEY(1, 20), SPR_SHOP_ITEM_CHOCOLATE, { STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE, STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 85, ShopItem::EmptyCup, PeepThoughtType::HotChocolateMuch, PeepThoughtType::HotChocolate },
/* ShopItem::IcedTea */ { MONEY(0, 30), MONEY(1, 00), MONEY(2, 00), MONEY(1, 00), MONEY(1, 10), SPR_SHOP_ITEM_ICED_TEA, { STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA, STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 95, ShopItem::EmptyCup, PeepThoughtType::IcedTeaMuch, PeepThoughtType::IcedTea },
/* ShopItem::FunnelCake */ { MONEY(0, 50), MONEY(1, 30), MONEY(1, 10), MONEY(1, 40), MONEY(1, 20), SPR_SHOP_ITEM_FUNNEL_CAKE, { STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE, STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 90, ShopItem::None, PeepThoughtType::FunnelCakeMuch, PeepThoughtType::FunnelCake },
/* ShopItem::Sunglasses */ { MONEY(0, 80), MONEY(1, 50), MONEY(2, 00), MONEY(1, 20), MONEY(1, 50), SPR_SHOP_ITEM_SUNGLASSES, { STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES, STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES }, SHOP_ITEM_FLAG_IS_SOUVENIR, LITTER_TYPE_RUBBISH, 0, ShopItem::None, PeepThoughtType::SunglassesMuch, PeepThoughtType::Sunglasses },
/* ShopItem::BeefNoodles */ { MONEY(0, 70), MONEY(1, 70), MONEY(1, 70), MONEY(2, 00), MONEY(1, 50), SPR_SHOP_ITEM_BEEF_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES, STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 130, ShopItem::EmptyBowlBlue, PeepThoughtType::BeefNoodlesMuch, PeepThoughtType::BeefNoodles },
/* ShopItem::FriedRiceNoodles */ { MONEY(0, 60), MONEY(1, 70), MONEY(1, 70), MONEY(2, 00), MONEY(1, 50), SPR_SHOP_ITEM_FRIED_RICE_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_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 }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 120, ShopItem::EmptyBowlBlue, PeepThoughtType::FriedRiceNoodlesMuch, PeepThoughtType::FriedRiceNoodles },
/* ShopItem::WontonSoup */ { MONEY(0, 40), MONEY(1, 30), MONEY(1, 30), MONEY(1, 50), MONEY(1, 50), SPR_SHOP_ITEM_WONTON_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP, STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 100, ShopItem::EmptyBowlRed, PeepThoughtType::WontonSoupMuch, PeepThoughtType::WontonSoup },
/* ShopItem::MeatballSoup */ { MONEY(0, 50), MONEY(1, 40), MONEY(1, 40), MONEY(1, 60), MONEY(1, 50), SPR_SHOP_ITEM_MEATBALL_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_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 }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 110, ShopItem::EmptyBowlRed, PeepThoughtType::MeatballSoupMuch, PeepThoughtType::MeatballSoup },
/* ShopItem::FruitJuice */ { MONEY(0, 40), MONEY(1, 10), MONEY(1, 90), MONEY(1, 10), MONEY(1, 20), SPR_SHOP_ITEM_FRUIT_JUICE, { STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE, STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 110, ShopItem::EmptyJuiceCup, PeepThoughtType::FruitJuiceMuch, PeepThoughtType::FruitJuice },
/* ShopItem::SoybeanMilk */ { MONEY(0, 40), MONEY(1, 00), MONEY(1, 40), MONEY(1, 00), MONEY(1, 20), SPR_SHOP_ITEM_SOYBEAN_MILK, { STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK, STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 90, ShopItem::EmptyDrinkCarton, PeepThoughtType::SoybeanMilkMuch, PeepThoughtType::SoybeanMilk },
/* ShopItem::Sujeonggwa */ { MONEY(0, 30), MONEY(1, 10), MONEY(1, 40), MONEY(1, 10), MONEY(1, 20), SPR_SHOP_ITEM_SUJEONGGWA, { STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA, STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA }, SHOP_ITEM_FLAG_IS_DRINK, LITTER_TYPE_RUBBISH, 100, ShopItem::EmptyDrinkCarton, PeepThoughtType::SujongkwaMuch, PeepThoughtType::Sujongkwa },
/* ShopItem::SubSandwich */ { MONEY(0, 50), MONEY(1, 90), MONEY(1, 90), MONEY(1, 70), MONEY(1, 50), SPR_SHOP_ITEM_SUB_SANDWICH, { STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH, STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 130, ShopItem::None, PeepThoughtType::SubSandwichMuch, PeepThoughtType::SubSandwich },
/* ShopItem::Cookie */ { MONEY(0, 40), MONEY(0, 80), MONEY(0, 80), MONEY(0, 80), MONEY(0, 70), SPR_SHOP_ITEM_COOKIE, { STR_SHOP_ITEM_PRICE_LABEL_COOKIE, STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 75, ShopItem::None, PeepThoughtType::CookieMuch, PeepThoughtType::Cookie },
/* ShopItem::EmptyBowlRed */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOWL_RED, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_BOWL_RED, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyDrinkCarton */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_DRINK_CARTON, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_DRINK_CARTON, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyJuiceCup */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_JUICE_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_JUICE_CUP, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::RoastSausage */ { MONEY(0, 50), MONEY(1, 60), MONEY(1, 60), MONEY(2, 00), MONEY(1, 50), SPR_SHOP_ITEM_ROAST_SAUSAGE, { STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE, STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE }, SHOP_ITEM_FLAG_IS_FOOD, LITTER_TYPE_RUBBISH, 115, ShopItem::None, PeepThoughtType::RoastSausageMuch, PeepThoughtType::RoastSausage },
/* ShopItem::EmptyBowlBlue */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOWL_BLUE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, LITTER_TYPE_EMPTY_BOWL_BLUE, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Balloon */ { MONEY(0, 30), MONEY(1, 40), MONEY(1, 40), MONEY(1, 40), MONEY(0, 90), SPR_SHOP_ITEM_BALLOON, { STR_SHOP_ITEM_PRICE_LABEL_BALLOON, STR_SHOP_ITEM_SINGULAR_BALLOON, STR_SHOP_ITEM_PLURAL_BALLOON, STR_SHOP_ITEM_INDEFINITE_BALLOON, STR_SHOP_ITEM_DISPLAY_BALLOON }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::BalloonMuch, PeepThoughtType::Balloon },
/* ShopItem::Toy */ { MONEY(1, 50), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(2, 50), SPR_SHOP_ITEM_TOY, { STR_SHOP_ITEM_PRICE_LABEL_CUDDLY_TOY, STR_SHOP_ITEM_SINGULAR_CUDDLY_TOY, STR_SHOP_ITEM_PLURAL_CUDDLY_TOY, STR_SHOP_ITEM_INDEFINITE_CUDDLY_TOY, STR_SHOP_ITEM_DISPLAY_CUDDLY_TOY }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::ToyMuch, PeepThoughtType::Toy },
/* ShopItem::Map */ { MONEY(0, 10), MONEY(0, 70), MONEY(0, 70), MONEY(0, 80), MONEY(0, 60), SPR_SHOP_ITEM_MAP, { STR_SHOP_ITEM_PRICE_LABEL_PARK_MAP, STR_SHOP_ITEM_SINGULAR_PARK_MAP, STR_SHOP_ITEM_PLURAL_PARK_MAP, STR_SHOP_ITEM_INDEFINITE_PARK_MAP, STR_SHOP_ITEM_DISPLAY_PARK_MAP }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::MapMuch, PeepThoughtType::Map },
/* ShopItem::Photo */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::PhotoMuch, PeepThoughtType::Photo },
/* ShopItem::Umbrella */ { MONEY(2, 00), MONEY(3, 50), MONEY(2, 50), MONEY(5, 00), MONEY(2, 50), SPR_SHOP_ITEM_UMBRELLA, { STR_SHOP_ITEM_PRICE_LABEL_UMBRELLA, STR_SHOP_ITEM_SINGULAR_UMBRELLA, STR_SHOP_ITEM_PLURAL_UMBRELLA, STR_SHOP_ITEM_INDEFINITE_UMBRELLA, STR_SHOP_ITEM_DISPLAY_UMBRELLA }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::UmbrellaMuch, PeepThoughtType::Umbrella },
/* ShopItem::Drink */ { MONEY(0, 30), MONEY(1, 20), MONEY(2, 00), MONEY(1, 00), MONEY(1, 20), SPR_SHOP_ITEM_DRINK, { STR_SHOP_ITEM_PRICE_LABEL_DRINK, STR_SHOP_ITEM_SINGULAR_DRINK, STR_SHOP_ITEM_PLURAL_DRINK, STR_SHOP_ITEM_INDEFINITE_DRINK, STR_SHOP_ITEM_DISPLAY_DRINK }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 100, ShopItem::EmptyCan, PeepThoughtType::DrinkMuch, PeepThoughtType::Drink },
/* ShopItem::Burger */ { MONEY(0, 50), MONEY(1, 90), MONEY(1, 90), MONEY(2, 20), MONEY(1, 50), SPR_SHOP_ITEM_BURGER, { STR_SHOP_ITEM_PRICE_LABEL_BURGER, STR_SHOP_ITEM_SINGULAR_BURGER, STR_SHOP_ITEM_PLURAL_BURGER, STR_SHOP_ITEM_INDEFINITE_BURGER, STR_SHOP_ITEM_DISPLAY_BURGER }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 150, ShopItem::EmptyBurgerBox, PeepThoughtType::BurgerMuch, PeepThoughtType::Burger },
/* ShopItem::Chips */ { MONEY(0, 40), MONEY(1, 60), MONEY(1, 60), MONEY(1, 80), MONEY(1, 50), SPR_SHOP_ITEM_CHIPS, { STR_SHOP_ITEM_PRICE_LABEL_CHIPS, STR_SHOP_ITEM_SINGULAR_CHIPS, STR_SHOP_ITEM_PLURAL_CHIPS, STR_SHOP_ITEM_INDEFINITE_CHIPS, STR_SHOP_ITEM_DISPLAY_CHIPS }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 120, ShopItem::Rubbish, PeepThoughtType::ChipsMuch, PeepThoughtType::Chips },
/* ShopItem::IceCream */ { MONEY(0, 40), MONEY(1, 00), MONEY(1, 50), MONEY(0, 60), MONEY(0, 90), SPR_SHOP_ITEM_ICE_CREAM, { STR_SHOP_ITEM_PRICE_LABEL_ICE_CREAM, STR_SHOP_ITEM_SINGULAR_ICE_CREAM, STR_SHOP_ITEM_PLURAL_ICE_CREAM, STR_SHOP_ITEM_INDEFINITE_ICE_CREAM, STR_SHOP_ITEM_DISPLAY_ICE_CREAM }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 60, ShopItem::None, PeepThoughtType::IceCreamMuch, PeepThoughtType::IceCream },
/* ShopItem::Candyfloss */ { MONEY(0, 30), MONEY(0, 90), MONEY(0, 90), MONEY(0, 60), MONEY(0, 80), SPR_SHOP_ITEM_CANDYFLOSS, { STR_SHOP_ITEM_PRICE_LABEL_CANDYFLOSS, STR_SHOP_ITEM_SINGULAR_CANDYFLOSS, STR_SHOP_ITEM_PLURAL_CANDYFLOSS, STR_SHOP_ITEM_INDEFINITE_CANDYFLOSS, STR_SHOP_ITEM_DISPLAY_CANDYFLOSS }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 50, ShopItem::None, PeepThoughtType::CandyflossMuch, PeepThoughtType::Candyfloss },
/* ShopItem::EmptyCan */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_CAN, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CAN, STR_SHOP_ITEM_SINGULAR_EMPTY_CAN, STR_SHOP_ITEM_PLURAL_EMPTY_CAN, STR_SHOP_ITEM_INDEFINITE_EMPTY_CAN, STR_SHOP_ITEM_DISPLAY_EMPTY_CAN }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyCan, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Rubbish */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_RUBBISH, { STR_SHOP_ITEM_PRICE_LABEL_RUBBISH, STR_SHOP_ITEM_SINGULAR_RUBBISH, STR_SHOP_ITEM_PLURAL_RUBBISH, STR_SHOP_ITEM_INDEFINITE_RUBBISH, STR_SHOP_ITEM_DISPLAY_RUBBISH }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyBurgerBox */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BURGER_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BURGER_BOX, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::BurgerBox, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Pizza */ { MONEY(0, 60), MONEY(2, 10), MONEY(2, 10), MONEY(2, 50), MONEY(1, 60), SPR_SHOP_ITEM_PIZZA, { STR_SHOP_ITEM_PRICE_LABEL_PIZZA, STR_SHOP_ITEM_SINGULAR_PIZZA, STR_SHOP_ITEM_PLURAL_PIZZA, STR_SHOP_ITEM_INDEFINITE_PIZZA, STR_SHOP_ITEM_DISPLAY_PIZZA }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 150, ShopItem::Rubbish, PeepThoughtType::PizzaMuch, PeepThoughtType::Pizza },
/* ShopItem::Voucher */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_VOUCHER, { STR_SHOP_ITEM_PRICE_LABEL_VOUCHER, STR_SHOP_ITEM_SINGULAR_VOUCHER, STR_SHOP_ITEM_PLURAL_VOUCHER, STR_SHOP_ITEM_INDEFINITE_VOUCHER, STR_SHOP_ITEM_DISPLAY_VOUCHER }, 0, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Popcorn */ { MONEY(0, 50), MONEY(1, 30), MONEY(1, 30), MONEY(1, 10), MONEY(1, 20), SPR_SHOP_ITEM_POPCORN, { STR_SHOP_ITEM_PRICE_LABEL_POPCORN, STR_SHOP_ITEM_SINGULAR_POPCORN, STR_SHOP_ITEM_PLURAL_POPCORN, STR_SHOP_ITEM_INDEFINITE_POPCORN, STR_SHOP_ITEM_DISPLAY_POPCORN }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 75, ShopItem::Rubbish, PeepThoughtType::PopcornMuch, PeepThoughtType::Popcorn },
/* ShopItem::HotDog */ { MONEY(0, 50), MONEY(1, 70), MONEY(1, 70), MONEY(2, 00), MONEY(1, 00), SPR_SHOP_ITEM_HOT_DOG, { STR_SHOP_ITEM_PRICE_LABEL_HOT_DOG, STR_SHOP_ITEM_SINGULAR_HOT_DOG, STR_SHOP_ITEM_PLURAL_HOT_DOG, STR_SHOP_ITEM_INDEFINITE_HOT_DOG, STR_SHOP_ITEM_DISPLAY_HOT_DOG }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 133, ShopItem::None, PeepThoughtType::HotDogMuch, PeepThoughtType::HotDog },
/* ShopItem::Tentacle */ { MONEY(1, 10), MONEY(2, 20), MONEY(2, 00), MONEY(1, 80), MONEY(1, 50), SPR_SHOP_ITEM_TENTACLE, { STR_SHOP_ITEM_PRICE_LABEL_TENTACLE, STR_SHOP_ITEM_SINGULAR_TENTACLE, STR_SHOP_ITEM_PLURAL_TENTACLE, STR_SHOP_ITEM_INDEFINITE_TENTACLE, STR_SHOP_ITEM_DISPLAY_TENTACLE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 110, ShopItem::None, PeepThoughtType::TentacleMuch, PeepThoughtType::Tentacle },
/* ShopItem::Hat */ { MONEY(0, 90), MONEY(2, 70), MONEY(3, 20), MONEY(2, 40), MONEY(1, 50), SPR_SHOP_ITEM_HAT, { STR_SHOP_ITEM_PRICE_LABEL_HAT, STR_SHOP_ITEM_SINGULAR_HAT, STR_SHOP_ITEM_PLURAL_HAT, STR_SHOP_ITEM_INDEFINITE_HAT, STR_SHOP_ITEM_DISPLAY_HAT }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::HatMuch, PeepThoughtType::Hat },
/* ShopItem::ToffeeApple */ { MONEY(0, 40), MONEY(1, 00), MONEY(1, 00), MONEY(1, 00), MONEY(0, 70), SPR_SHOP_ITEM_TOFFEE_APPLE, { STR_SHOP_ITEM_PRICE_LABEL_TOFFEE_APPLE, STR_SHOP_ITEM_SINGULAR_TOFFEE_APPLE, STR_SHOP_ITEM_PLURAL_TOFFEE_APPLE, STR_SHOP_ITEM_INDEFINITE_TOFFEE_APPLE, STR_SHOP_ITEM_DISPLAY_TOFFEE_APPLE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 50, ShopItem::None, PeepThoughtType::ToffeeAppleMuch, PeepThoughtType::ToffeeApple },
/* ShopItem::TShirt */ { MONEY(2, 00), MONEY(3, 70), MONEY(3, 70), MONEY(3, 70), MONEY(3, 00), SPR_SHOP_ITEM_TSHIRT, { STR_SHOP_ITEM_PRICE_LABEL_T_SHIRT, STR_SHOP_ITEM_SINGULAR_T_SHIRT, STR_SHOP_ITEM_PLURAL_T_SHIRT, STR_SHOP_ITEM_INDEFINITE_T_SHIRT, STR_SHOP_ITEM_DISPLAY_T_SHIRT }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::TshirtMuch, PeepThoughtType::Tshirt },
/* ShopItem::Doughnut */ { MONEY(0, 40), MONEY(0, 80), MONEY(0, 70), MONEY(1, 00), MONEY(0, 70), SPR_SHOP_ITEM_DOUGHNUT, { STR_SHOP_ITEM_PRICE_LABEL_DOUGHNUT, STR_SHOP_ITEM_SINGULAR_DOUGHNUT, STR_SHOP_ITEM_PLURAL_DOUGHNUT, STR_SHOP_ITEM_INDEFINITE_DOUGHNUT, STR_SHOP_ITEM_DISPLAY_DOUGHNUT }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 80, ShopItem::None, PeepThoughtType::DoughnutMuch, PeepThoughtType::Doughnut },
/* ShopItem::Coffee */ { MONEY(0, 30), MONEY(1, 10), MONEY(1, 50), MONEY(2, 00), MONEY(1, 20), SPR_SHOP_ITEM_COFFEE, { STR_SHOP_ITEM_PRICE_LABEL_COFFEE, STR_SHOP_ITEM_SINGULAR_COFFEE, STR_SHOP_ITEM_PLURAL_COFFEE, STR_SHOP_ITEM_INDEFINITE_COFFEE, STR_SHOP_ITEM_DISPLAY_COFFEE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 90, ShopItem::EmptyCup, PeepThoughtType::CoffeeMuch, PeepThoughtType::Coffee },
/* ShopItem::EmptyCup */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_CUP, STR_SHOP_ITEM_SINGULAR_EMPTY_CUP, STR_SHOP_ITEM_PLURAL_EMPTY_CUP, STR_SHOP_ITEM_INDEFINITE_EMPTY_CUP, STR_SHOP_ITEM_DISPLAY_EMPTY_CUP }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyCup, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Chicken */ { MONEY(0, 50), MONEY(1, 90), MONEY(1, 90), MONEY(2, 20), MONEY(1, 50), SPR_SHOP_ITEM_CHICKEN, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_CHICKEN, STR_SHOP_ITEM_SINGULAR_FRIED_CHICKEN, STR_SHOP_ITEM_PLURAL_FRIED_CHICKEN, STR_SHOP_ITEM_INDEFINITE_FRIED_CHICKEN, STR_SHOP_ITEM_DISPLAY_FRIED_CHICKEN }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::EmptyBox, 170, ShopItem::EmptyBox, PeepThoughtType::ChickenMuch, PeepThoughtType::Chicken },
/* ShopItem::Lemonade */ { MONEY(0, 40), MONEY(1, 10), MONEY(2, 10), MONEY(1, 00), MONEY(1, 20), SPR_SHOP_ITEM_LEMONADE, { STR_SHOP_ITEM_PRICE_LABEL_LEMONADE, STR_SHOP_ITEM_SINGULAR_LEMONADE, STR_SHOP_ITEM_PLURAL_LEMONADE, STR_SHOP_ITEM_INDEFINITE_LEMONADE, STR_SHOP_ITEM_DISPLAY_LEMONADE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::EmptyBottle, 115, ShopItem::EmptyBottle, PeepThoughtType::LemonadeMuch, PeepThoughtType::Lemonade },
/* ShopItem::EmptyBox */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOX, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOX, STR_SHOP_ITEM_SINGULAR_EMPTY_BOX, STR_SHOP_ITEM_PLURAL_EMPTY_BOX, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOX, STR_SHOP_ITEM_DISPLAY_EMPTY_BOX }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBox, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyBottle */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOTTLE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOTTLE, STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE, STR_SHOP_ITEM_PLURAL_EMPTY_BOTTLE, STR_SHOP_ITEM_INDEFINITE_EMPTY_BOTTLE, STR_SHOP_ITEM_DISPLAY_EMPTY_BOTTLE }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBottle, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* 28 */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Sick, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* 29 */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Sick, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* 30 */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Sick, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Admission */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), 0, { STR_NONE, STR_NONE, STR_NONE, STR_NONE, STR_NONE }, 0, Litter::Type::Sick, 0xFF, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::Photo2 */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO2, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo2Much, PeepThoughtType::Photo2 },
/* ShopItem::Photo3 */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO3, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo3Much, PeepThoughtType::Photo3 },
/* ShopItem::Photo4 */ { MONEY(0, 20), MONEY(3, 00), MONEY(3, 00), MONEY(3, 00), MONEY(0, 00), SPR_SHOP_ITEM_PHOTO4, { STR_SHOP_ITEM_PRICE_LABEL_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 }, SHOP_ITEM_FLAG_IS_PHOTO | SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::Photo4Much, PeepThoughtType::Photo4 },
/* ShopItem::Pretzel */ { MONEY(0, 50), MONEY(1, 10), MONEY(1, 10), MONEY(1, 10), MONEY(1, 10), SPR_SHOP_ITEM_PRETZEL, { STR_SHOP_ITEM_PRICE_LABEL_PRETZEL, STR_SHOP_ITEM_SINGULAR_PRETZEL, STR_SHOP_ITEM_PLURAL_PRETZEL, STR_SHOP_ITEM_INDEFINITE_PRETZEL, STR_SHOP_ITEM_DISPLAY_PRETZEL }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 70, ShopItem::None, PeepThoughtType::PretzelMuch, PeepThoughtType::Pretzel },
/* ShopItem::Chocolate */ { MONEY(0, 40), MONEY(1, 30), MONEY(1, 30), MONEY(2, 00), MONEY(1, 20), SPR_SHOP_ITEM_CHOCOLATE, { STR_SHOP_ITEM_PRICE_LABEL_HOT_CHOCOLATE, STR_SHOP_ITEM_SINGULAR_HOT_CHOCOLATE, STR_SHOP_ITEM_PLURAL_HOT_CHOCOLATE, STR_SHOP_ITEM_INDEFINITE_HOT_CHOCOLATE, STR_SHOP_ITEM_DISPLAY_HOT_CHOCOLATE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 85, ShopItem::EmptyCup, PeepThoughtType::HotChocolateMuch, PeepThoughtType::HotChocolate },
/* ShopItem::IcedTea */ { MONEY(0, 30), MONEY(1, 00), MONEY(2, 00), MONEY(1, 00), MONEY(1, 10), SPR_SHOP_ITEM_ICED_TEA, { STR_SHOP_ITEM_PRICE_LABEL_ICED_TEA, STR_SHOP_ITEM_SINGULAR_ICED_TEA, STR_SHOP_ITEM_PLURAL_ICED_TEA, STR_SHOP_ITEM_INDEFINITE_ICED_TEA, STR_SHOP_ITEM_DISPLAY_ICED_TEA }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 95, ShopItem::EmptyCup, PeepThoughtType::IcedTeaMuch, PeepThoughtType::IcedTea },
/* ShopItem::FunnelCake */ { MONEY(0, 50), MONEY(1, 30), MONEY(1, 10), MONEY(1, 40), MONEY(1, 20), SPR_SHOP_ITEM_FUNNEL_CAKE, { STR_SHOP_ITEM_PRICE_LABEL_FUNNEL_CAKE, STR_SHOP_ITEM_SINGULAR_FUNNEL_CAKE, STR_SHOP_ITEM_PLURAL_FUNNEL_CAKE, STR_SHOP_ITEM_INDEFINITE_FUNNEL_CAKE, STR_SHOP_ITEM_DISPLAY_FUNNEL_CAKE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 90, ShopItem::None, PeepThoughtType::FunnelCakeMuch, PeepThoughtType::FunnelCake },
/* ShopItem::Sunglasses */ { MONEY(0, 80), MONEY(1, 50), MONEY(2, 00), MONEY(1, 20), MONEY(1, 50), SPR_SHOP_ITEM_SUNGLASSES, { STR_SHOP_ITEM_PRICE_LABEL_SUNGLASSES, STR_SHOP_ITEM_SINGULAR_SUNGLASSES, STR_SHOP_ITEM_PLURAL_SUNGLASSES, STR_SHOP_ITEM_INDEFINITE_SUNGLASSES, STR_SHOP_ITEM_DISPLAY_SUNGLASSES }, SHOP_ITEM_FLAG_IS_SOUVENIR, Litter::Type::Rubbish, 0, ShopItem::None, PeepThoughtType::SunglassesMuch, PeepThoughtType::Sunglasses },
/* ShopItem::BeefNoodles */ { MONEY(0, 70), MONEY(1, 70), MONEY(1, 70), MONEY(2, 00), MONEY(1, 50), SPR_SHOP_ITEM_BEEF_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_BEEF_NOODLES, STR_SHOP_ITEM_SINGULAR_BEEF_NOODLES, STR_SHOP_ITEM_PLURAL_BEEF_NOODLES, STR_SHOP_ITEM_INDEFINITE_BEEF_NOODLES, STR_SHOP_ITEM_DISPLAY_BEEF_NOODLES }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 130, ShopItem::EmptyBowlBlue, PeepThoughtType::BeefNoodlesMuch, PeepThoughtType::BeefNoodles },
/* ShopItem::FriedRiceNoodles */ { MONEY(0, 60), MONEY(1, 70), MONEY(1, 70), MONEY(2, 00), MONEY(1, 50), SPR_SHOP_ITEM_FRIED_RICE_NOODLES, { STR_SHOP_ITEM_PRICE_LABEL_FRIED_RICE_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 }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 120, ShopItem::EmptyBowlBlue, PeepThoughtType::FriedRiceNoodlesMuch, PeepThoughtType::FriedRiceNoodles },
/* ShopItem::WontonSoup */ { MONEY(0, 40), MONEY(1, 30), MONEY(1, 30), MONEY(1, 50), MONEY(1, 50), SPR_SHOP_ITEM_WONTON_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_WONTON_SOUP, STR_SHOP_ITEM_SINGULAR_WONTON_SOUP, STR_SHOP_ITEM_PLURAL_WONTON_SOUP, STR_SHOP_ITEM_INDEFINITE_WONTON_SOUP, STR_SHOP_ITEM_DISPLAY_WONTON_SOUP }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 100, ShopItem::EmptyBowlRed, PeepThoughtType::WontonSoupMuch, PeepThoughtType::WontonSoup },
/* ShopItem::MeatballSoup */ { MONEY(0, 50), MONEY(1, 40), MONEY(1, 40), MONEY(1, 60), MONEY(1, 50), SPR_SHOP_ITEM_MEATBALL_SOUP, { STR_SHOP_ITEM_PRICE_LABEL_MEATBALL_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 }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 110, ShopItem::EmptyBowlRed, PeepThoughtType::MeatballSoupMuch, PeepThoughtType::MeatballSoup },
/* ShopItem::FruitJuice */ { MONEY(0, 40), MONEY(1, 10), MONEY(1, 90), MONEY(1, 10), MONEY(1, 20), SPR_SHOP_ITEM_FRUIT_JUICE, { STR_SHOP_ITEM_PRICE_LABEL_FRUIT_JUICE, STR_SHOP_ITEM_SINGULAR_FRUIT_JUICE, STR_SHOP_ITEM_PLURAL_FRUIT_JUICE, STR_SHOP_ITEM_INDEFINITE_FRUIT_JUICE, STR_SHOP_ITEM_DISPLAY_FRUIT_JUICE }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 110, ShopItem::EmptyJuiceCup, PeepThoughtType::FruitJuiceMuch, PeepThoughtType::FruitJuice },
/* ShopItem::SoybeanMilk */ { MONEY(0, 40), MONEY(1, 00), MONEY(1, 40), MONEY(1, 00), MONEY(1, 20), SPR_SHOP_ITEM_SOYBEAN_MILK, { STR_SHOP_ITEM_PRICE_LABEL_SOYBEAN_MILK, STR_SHOP_ITEM_SINGULAR_SOYBEAN_MILK, STR_SHOP_ITEM_PLURAL_SOYBEAN_MILK, STR_SHOP_ITEM_INDEFINITE_SOYBEAN_MILK, STR_SHOP_ITEM_DISPLAY_SOYBEAN_MILK }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 90, ShopItem::EmptyDrinkCarton, PeepThoughtType::SoybeanMilkMuch, PeepThoughtType::SoybeanMilk },
/* ShopItem::Sujeonggwa */ { MONEY(0, 30), MONEY(1, 10), MONEY(1, 40), MONEY(1, 10), MONEY(1, 20), SPR_SHOP_ITEM_SUJEONGGWA, { STR_SHOP_ITEM_PRICE_LABEL_SUJONGKWA, STR_SHOP_ITEM_SINGULAR_SUJONGKWA, STR_SHOP_ITEM_PLURAL_SUJONGKWA, STR_SHOP_ITEM_INDEFINITE_SUJONGKWA, STR_SHOP_ITEM_DISPLAY_SUJONGKWA }, SHOP_ITEM_FLAG_IS_DRINK, Litter::Type::Rubbish, 100, ShopItem::EmptyDrinkCarton, PeepThoughtType::SujongkwaMuch, PeepThoughtType::Sujongkwa },
/* ShopItem::SubSandwich */ { MONEY(0, 50), MONEY(1, 90), MONEY(1, 90), MONEY(1, 70), MONEY(1, 50), SPR_SHOP_ITEM_SUB_SANDWICH, { STR_SHOP_ITEM_PRICE_LABEL_SUB_SANDWICH, STR_SHOP_ITEM_SINGULAR_SUB_SANDWICH, STR_SHOP_ITEM_PLURAL_SUB_SANDWICH, STR_SHOP_ITEM_INDEFINITE_SUB_SANDWICH, STR_SHOP_ITEM_DISPLAY_SUB_SANDWICH }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 130, ShopItem::None, PeepThoughtType::SubSandwichMuch, PeepThoughtType::SubSandwich },
/* ShopItem::Cookie */ { MONEY(0, 40), MONEY(0, 80), MONEY(0, 80), MONEY(0, 80), MONEY(0, 70), SPR_SHOP_ITEM_COOKIE, { STR_SHOP_ITEM_PRICE_LABEL_COOKIE, STR_SHOP_ITEM_SINGULAR_COOKIE, STR_SHOP_ITEM_PLURAL_COOKIE, STR_SHOP_ITEM_INDEFINITE_COOKIE, STR_SHOP_ITEM_DISPLAY_COOKIE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 75, ShopItem::None, PeepThoughtType::CookieMuch, PeepThoughtType::Cookie },
/* ShopItem::EmptyBowlRed */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOWL_RED, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_RED, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBowlRed, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyDrinkCarton */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_DRINK_CARTON, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_DRINK_CARTON, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyDrinkCarton, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::EmptyJuiceCup */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_JUICE_CUP, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_JUICE_CUP, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyJuiceCup, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
/* ShopItem::RoastSausage */ { MONEY(0, 50), MONEY(1, 60), MONEY(1, 60), MONEY(2, 00), MONEY(1, 50), SPR_SHOP_ITEM_ROAST_SAUSAGE, { STR_SHOP_ITEM_PRICE_LABEL_ROAST_SAUSAGE, STR_SHOP_ITEM_SINGULAR_ROAST_SAUSAGE, STR_SHOP_ITEM_PLURAL_ROAST_SAUSAGE, STR_SHOP_ITEM_INDEFINITE_ROAST_SAUSAGE, STR_SHOP_ITEM_DISPLAY_ROAST_SAUSAGE }, SHOP_ITEM_FLAG_IS_FOOD, Litter::Type::Rubbish, 115, ShopItem::None, PeepThoughtType::RoastSausageMuch, PeepThoughtType::RoastSausage },
/* ShopItem::EmptyBowlBlue */ { MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), MONEY(0, 00), SPR_SHOP_ITEM_EMPTY_BOWL_BLUE, { STR_SHOP_ITEM_PRICE_LABEL_EMPTY_BOWL_BLUE, 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 }, SHOP_ITEM_FLAG_IS_CONTAINER, Litter::Type::EmptyBowlBlue, 0, ShopItem::None, PeepThoughtType::None, PeepThoughtType::None },
};
// clang-format on

View File

@ -11,6 +11,7 @@
#include "../common.h"
#include "../util/Util.h"
#include "../world/Litter.h"
struct Ride;
enum class PeepThoughtType : uint8_t;
@ -95,7 +96,7 @@ struct ShopItemDescriptor
uint32_t Image;
ShopItemStrings Naming;
uint16_t Flags;
uint8_t LitterType;
Litter::Type Type;
uint8_t ConsumptionTime;
ShopItem DiscardContainer;
PeepThoughtType TooMuchThought;

View File

@ -15,31 +15,29 @@ class DataSerialiser;
struct CoordsXYZ;
struct CoordsXYZD;
enum LitterType : uint8_t
{
LITTER_TYPE_SICK,
LITTER_TYPE_SICK_ALT,
LITTER_TYPE_EMPTY_CAN,
LITTER_TYPE_RUBBISH,
LITTER_TYPE_EMPTY_BURGER_BOX,
LITTER_TYPE_EMPTY_CUP,
LITTER_TYPE_EMPTY_BOX,
LITTER_TYPE_EMPTY_BOTTLE,
LITTER_TYPE_EMPTY_BOWL_RED,
LITTER_TYPE_EMPTY_DRINK_CARTON,
LITTER_TYPE_EMPTY_JUICE_CUP,
LITTER_TYPE_EMPTY_BOWL_BLUE,
};
struct Litter : SpriteBase
{
enum class Type : uint8_t
{
Sick,
SickAlt,
EmptyCan,
Rubbish,
BurgerBox,
EmptyCup,
EmptyBox,
EmptyBottle,
EmptyBowlRed,
EmptyDrinkCarton,
EmptyJuiceCup,
EmptyBowlBlue,
};
static constexpr auto cEntityType = EntityType::Litter;
LitterType SubType;
Type SubType;
uint32_t creationTick;
static void Create(const CoordsXYZD& litterPos, Type type);
static void RemoveAt(const CoordsXYZ& litterPos);
void Serialise(DataSerialiser& stream);
rct_string_id GetName() const;
};
extern const rct_string_id litterNames[12];
void litter_create(const CoordsXYZD& litterPos, LitterType type);
void litter_remove_at(const CoordsXYZ& litterPos);

View File

@ -38,19 +38,6 @@ static bool _spriteFlashingList[MAX_ENTITIES];
static std::array<std::vector<uint16_t>, SPATIAL_INDEX_SIZE> gSpriteSpatialIndex;
const rct_string_id litterNames[12] = { STR_LITTER_VOMIT,
STR_LITTER_VOMIT,
STR_SHOP_ITEM_SINGULAR_EMPTY_CAN,
STR_SHOP_ITEM_SINGULAR_RUBBISH,
STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX,
STR_SHOP_ITEM_SINGULAR_EMPTY_CUP,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOX,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED,
STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON,
STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE };
constexpr size_t GetSpatialIndexOffset(int32_t x, int32_t y)
{
size_t index = SPATIAL_INDEX_LOCATION_NULL;
@ -694,7 +681,7 @@ static bool litter_can_be_at(const CoordsXYZ& mapPos)
*
* rct2: 0x0067375D
*/
void litter_create(const CoordsXYZD& litterPos, LitterType type)
void Litter::Create(const CoordsXYZD& litterPos, Type type)
{
if (gCheatsDisableLittering)
return;
@ -743,7 +730,7 @@ void litter_create(const CoordsXYZD& litterPos, LitterType type)
*
* rct2: 0x006738E1
*/
void litter_remove_at(const CoordsXYZ& litterPos)
void Litter::RemoveAt(const CoordsXYZ& litterPos)
{
std::vector<Litter*> removals;
for (auto litter : EntityTileList<Litter>(litterPos))
@ -763,6 +750,25 @@ void litter_remove_at(const CoordsXYZ& litterPos)
}
}
const rct_string_id litterNames[12] = { STR_LITTER_VOMIT,
STR_LITTER_VOMIT,
STR_SHOP_ITEM_SINGULAR_EMPTY_CAN,
STR_SHOP_ITEM_SINGULAR_RUBBISH,
STR_SHOP_ITEM_SINGULAR_EMPTY_BURGER_BOX,
STR_SHOP_ITEM_SINGULAR_EMPTY_CUP,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOX,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOTTLE,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_RED,
STR_SHOP_ITEM_SINGULAR_EMPTY_DRINK_CARTON,
STR_SHOP_ITEM_SINGULAR_EMPTY_JUICE_CUP,
STR_SHOP_ITEM_SINGULAR_EMPTY_BOWL_BLUE };
rct_string_id Litter::GetName() const
{
if (EnumValue(SubType) >= sizeof(litterNames))
return STR_NONE;
return litterNames[EnumValue(SubType)];
}
/**
* Loops through all sprites, finds floating objects and removes them.
* Returns the amount of removed objects as feedback.

View File

@ -94,8 +94,6 @@ enum
constexpr const uint32_t SPATIAL_INDEX_SIZE = (MAXIMUM_MAP_SIZE_TECHNICAL * MAXIMUM_MAP_SIZE_TECHNICAL) + 1;
constexpr const uint32_t SPATIAL_INDEX_LOCATION_NULL = SPATIAL_INDEX_SIZE - 1;
extern const rct_string_id litterNames[12];
rct_sprite* create_sprite(EntityType type);
template<typename T> T* CreateEntity()
{