You've already forked OpenRCT2-Unity
mirror of
https://github.com/izzy2lost/OpenRCT2-Unity.git
synced 2026-03-10 12:38:22 -07:00
Use RIDE_TYPE_FLAG_IS_TOILET
This commit is contained in:
@@ -6321,7 +6321,8 @@ static void WindowRideIncomeTogglePrimaryPrice(rct_window* w)
|
||||
return;
|
||||
|
||||
ShopItem shop_item;
|
||||
if (ride->type == RIDE_TYPE_TOILETS)
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET))
|
||||
{
|
||||
shop_item = ShopItem::Admission;
|
||||
}
|
||||
@@ -6440,7 +6441,8 @@ static bool WindowRideIncomeCanModifyPrimaryPrice(rct_window* w)
|
||||
return false;
|
||||
|
||||
auto rideEntry = ride->GetRideEntry();
|
||||
return park_ride_prices_unlocked() || ride->type == RIDE_TYPE_TOILETS
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
return park_ride_prices_unlocked() || rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET)
|
||||
|| (rideEntry != nullptr && rideEntry->shop_item[0] != ShopItem::None);
|
||||
}
|
||||
|
||||
@@ -6639,7 +6641,8 @@ static void WindowRideIncomeInvalidate(rct_window* w)
|
||||
window_ride_income_widgets[WIDX_PRIMARY_PRICE].tooltip = STR_NONE;
|
||||
|
||||
// If ride prices are locked, do not allow setting the price, unless we're dealing with a shop or toilet.
|
||||
if (!park_ride_prices_unlocked() && rideEntry->shop_item[0] == ShopItem::None && ride->type != RIDE_TYPE_TOILETS)
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
if (!park_ride_prices_unlocked() && rideEntry->shop_item[0] == ShopItem::None && !rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET))
|
||||
{
|
||||
w->disabled_widgets |= (1ULL << WIDX_PRIMARY_PRICE);
|
||||
window_ride_income_widgets[WIDX_PRIMARY_PRICE_LABEL].tooltip = STR_RIDE_INCOME_ADMISSION_PAY_FOR_ENTRY_TIP;
|
||||
@@ -6658,7 +6661,7 @@ static void WindowRideIncomeInvalidate(rct_window* w)
|
||||
window_ride_income_widgets[WIDX_PRIMARY_PRICE].text = STR_FREE;
|
||||
|
||||
ShopItem primaryItem = ShopItem::Admission;
|
||||
if (ride->type == RIDE_TYPE_TOILETS || ((primaryItem = rideEntry->shop_item[0]) != ShopItem::None))
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET) || ((primaryItem = rideEntry->shop_item[0]) != ShopItem::None))
|
||||
{
|
||||
window_ride_income_widgets[WIDX_PRIMARY_PRICE_SAME_THROUGHOUT_PARK].type = WindowWidgetType::Checkbox;
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ GameActions::Result RideCreateAction::Execute() const
|
||||
ride->price[0] = 0;
|
||||
}
|
||||
|
||||
if (ride->type == RIDE_TYPE_TOILETS)
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET))
|
||||
{
|
||||
if (shop_item_has_common_price(ShopItem::Admission))
|
||||
{
|
||||
|
||||
@@ -97,7 +97,9 @@ GameActions::Result RideSetPriceAction::Execute() const
|
||||
if (_primaryPrice)
|
||||
{
|
||||
shopItem = ShopItem::Admission;
|
||||
if (ride->type != RIDE_TYPE_TOILETS)
|
||||
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET))
|
||||
{
|
||||
shopItem = rideEntry->shop_item[0];
|
||||
if (shopItem == ShopItem::None)
|
||||
@@ -149,7 +151,8 @@ void RideSetPriceAction::RideSetCommonPrice(ShopItem shopItem) const
|
||||
{
|
||||
auto invalidate = false;
|
||||
auto rideEntry = get_ride_entry(ride.subtype);
|
||||
if (ride.type == RIDE_TYPE_TOILETS && shopItem == ShopItem::Admission)
|
||||
const auto& rtd = ride.GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET) && shopItem == ShopItem::Admission)
|
||||
{
|
||||
if (ride.price[0] != _price)
|
||||
{
|
||||
|
||||
@@ -2206,7 +2206,8 @@ bool Guest::ShouldGoToShop(Ride* ride, bool peepAtShop)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ride->type == RIDE_TYPE_TOILETS)
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET))
|
||||
{
|
||||
if (Toilet < 70)
|
||||
{
|
||||
|
||||
@@ -376,7 +376,8 @@ static bool award_is_deserved_best_restrooms([[maybe_unused]] int32_t activeAwar
|
||||
// Count open restrooms
|
||||
const auto& rideManager = GetRideManager();
|
||||
auto numRestrooms = static_cast<size_t>(std::count_if(rideManager.begin(), rideManager.end(), [](const Ride& ride) {
|
||||
return ride.type == RIDE_TYPE_TOILETS && ride.status == RideStatus::Open;
|
||||
const auto& rtd = ride.GetRideTypeDescriptor();
|
||||
return rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET) && ride.status == RideStatus::Open;
|
||||
}));
|
||||
|
||||
// At least 4 open restrooms
|
||||
|
||||
@@ -234,11 +234,12 @@ int32_t ride_get_count()
|
||||
size_t Ride::GetNumPrices() const
|
||||
{
|
||||
size_t result = 0;
|
||||
if (type == RIDE_TYPE_CASH_MACHINE || type == RIDE_TYPE_FIRST_AID)
|
||||
const auto& rtd = GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_CASH_MACHINE) || type == RIDE_TYPE_FIRST_AID)
|
||||
{
|
||||
result = 0;
|
||||
}
|
||||
else if (type == RIDE_TYPE_TOILETS)
|
||||
else if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET))
|
||||
{
|
||||
result = 1;
|
||||
}
|
||||
|
||||
@@ -2222,7 +2222,9 @@ void PaintTrack(paint_session& session, Direction direction, int32_t height, con
|
||||
if (lightfx_is_available())
|
||||
{
|
||||
uint8_t zOffset = 16;
|
||||
if (ride->type == RIDE_TYPE_TOILETS || ride->type == RIDE_TYPE_FIRST_AID || ride->type == RIDE_TYPE_CASH_MACHINE)
|
||||
const auto& rtd = ride->GetRideTypeDescriptor();
|
||||
if (rtd.HasFlag(RIDE_TYPE_FLAG_IS_TOILET) || ride->type == RIDE_TYPE_FIRST_AID
|
||||
|| rtd.HasFlag(RIDE_TYPE_FLAG_IS_CASH_MACHINE))
|
||||
zOffset = 23;
|
||||
|
||||
if (ride->type == RIDE_TYPE_INFORMATION_KIOSK)
|
||||
|
||||
@@ -24,7 +24,7 @@ constexpr const RideTypeDescriptor ToiletsRTD =
|
||||
SET_FIELD(StartTrackPiece, TrackElemType::FlatTrack1x1A),
|
||||
SET_FIELD(TrackPaintFunction, get_track_paint_function_facility),
|
||||
SET_FIELD(Flags, RIDE_TYPE_FLAG_HAS_SINGLE_PIECE_STATION | RIDE_TYPE_FLAG_CANNOT_HAVE_GAPS | RIDE_TYPE_FLAG_NO_TEST_MODE | RIDE_TYPE_FLAG_NO_VEHICLES |
|
||||
RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE |
|
||||
RIDE_TYPE_FLAG_HAS_NO_TRACK | RIDE_TYPE_FLAG_IS_SHOP | RIDE_TYPE_FLAG_TRACK_NO_WALLS | RIDE_TYPE_FLAG_FLAT_RIDE |
|
||||
RIDE_TYPE_FLAG_PEEP_SHOULD_GO_INSIDE_FACILITY | RIDE_TYPE_FLAG_IN_RIDE | RIDE_TYPE_FLAG_IS_TOILET | RIDE_TYPE_FLAG_LIST_VEHICLES_SEPARATELY),
|
||||
SET_FIELD(RideModes, EnumsToFlags(RideMode::ShopStall)),
|
||||
SET_FIELD(DefaultMode, RideMode::ShopStall),
|
||||
|
||||
Reference in New Issue
Block a user