mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-16 03:23:15 +01:00
Cleanup gameState usage (#22692)
This commit is contained in:
@@ -526,7 +526,7 @@ static constexpr WindowParkAward _parkAwards[] = {
|
||||
|
||||
// Set open / close park button state
|
||||
{
|
||||
auto parkName = GetGameState().Park.Name.c_str();
|
||||
auto parkName = gameState.Park.Name.c_str();
|
||||
|
||||
auto ft = Formatter::Common();
|
||||
ft.Add<StringId>(STR_STRING);
|
||||
@@ -547,7 +547,7 @@ static constexpr WindowParkAward _parkAwards[] = {
|
||||
disabled_widgets &= ~((1uLL << WIDX_OPEN_OR_CLOSE) | (1uLL << WIDX_CLOSE_LIGHT) | (1uLL << WIDX_OPEN_LIGHT));
|
||||
|
||||
// Only allow purchase of land when there is money
|
||||
if (GetGameState().Park.Flags & PARK_FLAGS_NO_MONEY)
|
||||
if (gameState.Park.Flags & PARK_FLAGS_NO_MONEY)
|
||||
widgets[WIDX_BUY_LAND_RIGHTS].type = WindowWidgetType::Empty;
|
||||
else
|
||||
widgets[WIDX_BUY_LAND_RIGHTS].type = WindowWidgetType::FlatBtn;
|
||||
|
||||
@@ -547,7 +547,7 @@ static Widget *window_research_page_widgets[] = {
|
||||
const auto& gameState = GetGameState();
|
||||
auto widgetOffset = GetWidgetIndexOffset(baseWidgetIndex, WIDX_RESEARCH_FUNDING);
|
||||
|
||||
if ((GetGameState().Park.Flags & PARK_FLAGS_NO_MONEY) || gameState.ResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL)
|
||||
if ((gameState.Park.Flags & PARK_FLAGS_NO_MONEY) || gameState.ResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL)
|
||||
{
|
||||
w->widgets[WIDX_RESEARCH_FUNDING + widgetOffset].type = WindowWidgetType::Empty;
|
||||
w->widgets[WIDX_RESEARCH_FUNDING_DROPDOWN_BUTTON + widgetOffset].type = WindowWidgetType::Empty;
|
||||
@@ -591,10 +591,10 @@ static Widget *window_research_page_widgets[] = {
|
||||
|
||||
void WindowResearchFundingDraw(WindowBase* w, DrawPixelInfo& dpi)
|
||||
{
|
||||
if (GetGameState().Park.Flags & PARK_FLAGS_NO_MONEY)
|
||||
const auto& gameState = GetGameState();
|
||||
if (gameState.Park.Flags & PARK_FLAGS_NO_MONEY)
|
||||
return;
|
||||
|
||||
const auto& gameState = GetGameState();
|
||||
int32_t currentResearchLevel = gameState.ResearchFundingLevel;
|
||||
auto ft = Formatter();
|
||||
ft.Add<money64>(research_cost_table[currentResearchLevel]);
|
||||
|
||||
@@ -1920,8 +1920,9 @@ static_assert(std::size(RatingNames) == 6);
|
||||
bool selectionShouldBeExpanded;
|
||||
int32_t rideTypeIterator, rideTypeIteratorMax;
|
||||
|
||||
const auto& gameState = GetGameState();
|
||||
const auto& rtd = ride.GetRideTypeDescriptor();
|
||||
if (GetGameState().Cheats.ShowVehiclesFromOtherTrackTypes
|
||||
if (gameState.Cheats.ShowVehiclesFromOtherTrackTypes
|
||||
&& !(rtd.HasFlag(RtdFlag::isFlatRide) || rtd.HasFlag(RtdFlag::isMaze) || ride.type == RIDE_TYPE_MINI_GOLF))
|
||||
{
|
||||
selectionShouldBeExpanded = true;
|
||||
@@ -1960,7 +1961,7 @@ static_assert(std::size(RatingNames) == 6);
|
||||
continue;
|
||||
|
||||
// Skip if vehicle type has not been invented yet
|
||||
if (!RideEntryIsInvented(rideEntryIndex) && !GetGameState().Cheats.IgnoreResearchStatus)
|
||||
if (!RideEntryIsInvented(rideEntryIndex) && !gameState.Cheats.IgnoreResearchStatus)
|
||||
continue;
|
||||
|
||||
auto name = currentRideEntry->naming.Name;
|
||||
@@ -2245,9 +2246,10 @@ static_assert(std::size(RatingNames) == 6);
|
||||
if (ride == nullptr)
|
||||
return;
|
||||
|
||||
const auto& gameState = GetGameState();
|
||||
disabled_widgets &= ~((1uLL << WIDX_DEMOLISH) | (1uLL << WIDX_CONSTRUCTION));
|
||||
if (ride->lifecycle_flags & (RIDE_LIFECYCLE_INDESTRUCTIBLE | RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK)
|
||||
&& !GetGameState().Cheats.MakeAllDestructible)
|
||||
&& !gameState.Cheats.MakeAllDestructible)
|
||||
disabled_widgets |= (1uLL << WIDX_DEMOLISH);
|
||||
|
||||
auto ft = Formatter::Common();
|
||||
@@ -2286,7 +2288,7 @@ static_assert(std::size(RatingNames) == 6);
|
||||
|
||||
AnchorBorderWidgets();
|
||||
|
||||
const int32_t offset = GetGameState().Cheats.AllowArbitraryRideTypeChanges ? 15 : 0;
|
||||
const int32_t offset = gameState.Cheats.AllowArbitraryRideTypeChanges ? 15 : 0;
|
||||
// Anchor main page specific widgets
|
||||
widgets[WIDX_VIEWPORT].right = width - 26;
|
||||
widgets[WIDX_VIEWPORT].bottom = height - (14 + offset);
|
||||
@@ -2304,7 +2306,7 @@ static_assert(std::size(RatingNames) == 6);
|
||||
widgets[WIDX_RIDE_TYPE_DROPDOWN].top = height - 16;
|
||||
widgets[WIDX_RIDE_TYPE_DROPDOWN].bottom = height - 5;
|
||||
|
||||
if (!GetGameState().Cheats.AllowArbitraryRideTypeChanges)
|
||||
if (!gameState.Cheats.AllowArbitraryRideTypeChanges)
|
||||
{
|
||||
widgets[WIDX_RIDE_TYPE].type = WindowWidgetType::Empty;
|
||||
widgets[WIDX_RIDE_TYPE_DROPDOWN].type = WindowWidgetType::Empty;
|
||||
@@ -2717,8 +2719,9 @@ static_assert(std::size(RatingNames) == 6);
|
||||
// Vehicle type
|
||||
widgets[WIDX_VEHICLE_TYPE].text = rideEntry->naming.Name;
|
||||
|
||||
const auto& gameState = GetGameState();
|
||||
// Trains
|
||||
if (rideEntry->cars_per_flat_ride > 1 || GetGameState().Cheats.DisableTrainLengthLimit)
|
||||
if (rideEntry->cars_per_flat_ride > 1 || gameState.Cheats.DisableTrainLengthLimit)
|
||||
{
|
||||
widgets[WIDX_VEHICLE_TRAINS].type = WindowWidgetType::Spinner;
|
||||
widgets[WIDX_VEHICLE_TRAINS_INCREASE].type = WindowWidgetType::Button;
|
||||
@@ -2732,7 +2735,7 @@ static_assert(std::size(RatingNames) == 6);
|
||||
}
|
||||
|
||||
// Cars per train
|
||||
if (rideEntry->zero_cars + 1 < rideEntry->max_cars_in_train || GetGameState().Cheats.DisableTrainLengthLimit)
|
||||
if (rideEntry->zero_cars + 1 < rideEntry->max_cars_in_train || gameState.Cheats.DisableTrainLengthLimit)
|
||||
{
|
||||
widgets[WIDX_VEHICLE_CARS_PER_TRAIN].type = WindowWidgetType::Spinner;
|
||||
widgets[WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE].type = WindowWidgetType::Button;
|
||||
@@ -2746,8 +2749,7 @@ static_assert(std::size(RatingNames) == 6);
|
||||
}
|
||||
|
||||
if (ride->GetRideTypeDescriptor().HasFlag(RtdFlag::allowReversedTrains)
|
||||
|| (GetGameState().Cheats.DisableTrainLengthLimit
|
||||
&& !ride->GetRideTypeDescriptor().HasFlag(RtdFlag::isFlatRide)))
|
||||
|| (gameState.Cheats.DisableTrainLengthLimit && !ride->GetRideTypeDescriptor().HasFlag(RtdFlag::isFlatRide)))
|
||||
{
|
||||
widgets[WIDX_VEHICLE_REVERSED_TRAINS_CHECKBOX].type = WindowWidgetType::Checkbox;
|
||||
if (ride->HasLifecycleFlag(RIDE_LIFECYCLE_REVERSED_TRAINS))
|
||||
@@ -2988,10 +2990,11 @@ static_assert(std::size(RatingNames) == 6);
|
||||
return;
|
||||
|
||||
const auto& operatingSettings = ride->GetRideTypeDescriptor().OperatingSettings;
|
||||
const auto& gameState = GetGameState();
|
||||
uint8_t maxValue = operatingSettings.MaxValue;
|
||||
uint8_t minValue = GetGameState().Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
uint8_t minValue = gameState.Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
|
||||
if (GetGameState().Cheats.UnlockOperatingLimits)
|
||||
if (gameState.Cheats.UnlockOperatingLimits)
|
||||
{
|
||||
maxValue = OpenRCT2::Limits::kCheatsMaxOperatingLimit;
|
||||
}
|
||||
@@ -3009,9 +3012,10 @@ static_assert(std::size(RatingNames) == 6);
|
||||
return;
|
||||
|
||||
const auto& operatingSettings = ride->GetRideTypeDescriptor().OperatingSettings;
|
||||
const auto& gameState = GetGameState();
|
||||
uint8_t maxValue = operatingSettings.MaxValue;
|
||||
uint8_t minValue = GetGameState().Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
if (GetGameState().Cheats.UnlockOperatingLimits)
|
||||
uint8_t minValue = gameState.Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
if (gameState.Cheats.UnlockOperatingLimits)
|
||||
{
|
||||
maxValue = OpenRCT2::Limits::kCheatsMaxOperatingLimit;
|
||||
}
|
||||
@@ -3262,9 +3266,10 @@ static_assert(std::size(RatingNames) == 6);
|
||||
}
|
||||
|
||||
const auto& operatingSettings = ride.GetRideTypeDescriptor().OperatingSettings;
|
||||
int16_t maxValue = GetGameState().Cheats.UnlockOperatingLimits ? OpenRCT2::Limits::kCheatsMaxOperatingLimit
|
||||
: operatingSettings.MaxValue;
|
||||
int16_t minValue = GetGameState().Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
const auto& gameState = GetGameState();
|
||||
int16_t maxValue = gameState.Cheats.UnlockOperatingLimits ? OpenRCT2::Limits::kCheatsMaxOperatingLimit
|
||||
: operatingSettings.MaxValue;
|
||||
int16_t minValue = gameState.Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
|
||||
const auto& title = widgets[WIDX_MODE_TWEAK_LABEL].text;
|
||||
Formatter ft;
|
||||
@@ -3344,9 +3349,10 @@ static_assert(std::size(RatingNames) == 6);
|
||||
if (widgetIndex == WIDX_MODE_TWEAK)
|
||||
{
|
||||
const auto& operatingSettings = ride->GetRideTypeDescriptor().OperatingSettings;
|
||||
uint32_t maxValue = GetGameState().Cheats.UnlockOperatingLimits ? OpenRCT2::Limits::kCheatsMaxOperatingLimit
|
||||
: operatingSettings.MaxValue;
|
||||
uint32_t minValue = GetGameState().Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
const auto& gameState = GetGameState();
|
||||
uint32_t maxValue = gameState.Cheats.UnlockOperatingLimits ? OpenRCT2::Limits::kCheatsMaxOperatingLimit
|
||||
: operatingSettings.MaxValue;
|
||||
uint32_t minValue = gameState.Cheats.UnlockOperatingLimits ? 0 : operatingSettings.MinValue;
|
||||
auto multiplier = ride->GetRideTypeDescriptor().OperatingSettings.OperatingSettingMultiplier;
|
||||
|
||||
try
|
||||
|
||||
@@ -1719,15 +1719,16 @@ static Widget _rideConstructionWidgets[] = {
|
||||
widgets[WIDX_SLOPE_UP_STEEP].type = WindowWidgetType::FlatBtn;
|
||||
}
|
||||
|
||||
const auto& gameState = GetGameState();
|
||||
if (currentRide->GetRideTypeDescriptor().HasFlag(RtdFlag::upInclineRequiresLift)
|
||||
&& (_currentTrackPitchEnd == TrackPitch::Up25 || _currentTrackPitchEnd == TrackPitch::Up60)
|
||||
&& !GetGameState().Cheats.EnableAllDrawableTrackPieces)
|
||||
&& !gameState.Cheats.EnableAllDrawableTrackPieces)
|
||||
{
|
||||
_currentTrackLiftHill |= CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
}
|
||||
|
||||
if ((IsTrackEnabled(TrackGroup::liftHill) && !_currentlySelectedTrack.isTrackType)
|
||||
|| (GetGameState().Cheats.EnableChainLiftOnAllTrack
|
||||
|| (gameState.Cheats.EnableChainLiftOnAllTrack
|
||||
&& currentRide->GetRideTypeDescriptor().HasFlag(RtdFlag::hasTrack)))
|
||||
{
|
||||
widgets[WIDX_CHAIN_LIFT].type = WindowWidgetType::FlatBtn;
|
||||
|
||||
@@ -1457,15 +1457,16 @@ namespace OpenRCT2::Ui::Windows
|
||||
Dropdown::SetDisabled(DDIDX_ENABLE_SANDBOX_MODE, true);
|
||||
}
|
||||
|
||||
if (GetGameState().Cheats.SandboxMode)
|
||||
auto& gameState = GetGameState();
|
||||
if (gameState.Cheats.SandboxMode)
|
||||
{
|
||||
Dropdown::SetChecked(DDIDX_ENABLE_SANDBOX_MODE, true);
|
||||
}
|
||||
if (GetGameState().Cheats.DisableClearanceChecks)
|
||||
if (gameState.Cheats.DisableClearanceChecks)
|
||||
{
|
||||
Dropdown::SetChecked(DDIDX_DISABLE_CLEARANCE_CHECKS, true);
|
||||
}
|
||||
if (GetGameState().Cheats.DisableSupportLimits)
|
||||
if (gameState.Cheats.DisableSupportLimits)
|
||||
{
|
||||
Dropdown::SetChecked(DDIDX_DISABLE_SUPPORT_LIMITS, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user