From f98157d4f19f650bdf4b7860469007a68bebd367 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sun, 25 Feb 2024 16:59:03 +0100 Subject: [PATCH] Move _restrictedScenery to GameState_t --- src/openrct2/GameState.h | 2 ++ src/openrct2/world/Scenery.cpp | 17 +++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/openrct2/GameState.h b/src/openrct2/GameState.h index 92fd7d7619..a9f200ddb6 100644 --- a/src/openrct2/GameState.h +++ b/src/openrct2/GameState.h @@ -82,6 +82,8 @@ namespace OpenRCT2 std::array Rides{}; std::vector TileElements; + std::vector RestrictedScenery; + News::ItemQueues NewsItems; colour_t StaffHandymanColour; diff --git a/src/openrct2/world/Scenery.cpp b/src/openrct2/world/Scenery.cpp index fe1fc77634..5e76145ddc 100644 --- a/src/openrct2/world/Scenery.cpp +++ b/src/openrct2/world/Scenery.cpp @@ -60,7 +60,7 @@ int16_t gSceneryCtrlPressZ; money64 gClearSceneryCost; -static std::vector _restrictedScenery; +using namespace OpenRCT2; // rct2: 0x009A3E74 const CoordsXY SceneryQuadrantOffsets[] = { @@ -373,17 +373,19 @@ static bool IsSceneryEntryValid(const ScenerySelection& item) bool IsSceneryItemRestricted(const ScenerySelection& item) { - return std::find(std::begin(_restrictedScenery), std::end(_restrictedScenery), item) != std::end(_restrictedScenery); + auto& gameState = GetGameState(); + return std::find(std::begin(gameState.RestrictedScenery), std::end(gameState.RestrictedScenery), item) + != std::end(gameState.RestrictedScenery); } void ClearRestrictedScenery() { - _restrictedScenery.clear(); + GetGameState().RestrictedScenery.clear(); } std::vector& GetRestrictedScenery() { - return _restrictedScenery; + return GetGameState().RestrictedScenery; } static std::vector GetAllMiscScenery() @@ -418,16 +420,19 @@ static std::vector GetAllMiscScenery() void RestrictAllMiscScenery() { + auto& gameState = GetGameState(); auto miscScenery = GetAllMiscScenery(); - _restrictedScenery.insert(_restrictedScenery.begin(), miscScenery.begin(), miscScenery.end()); + gameState.RestrictedScenery.insert(gameState.RestrictedScenery.begin(), miscScenery.begin(), miscScenery.end()); } void MarkAllUnrestrictedSceneryAsInvented() { + auto& gameState = GetGameState(); auto miscScenery = GetAllMiscScenery(); for (const auto& sceneryItem : miscScenery) { - if (std::find(_restrictedScenery.begin(), _restrictedScenery.end(), sceneryItem) == _restrictedScenery.end()) + if (std::find(gameState.RestrictedScenery.begin(), gameState.RestrictedScenery.end(), sceneryItem) + == gameState.RestrictedScenery.end()) { ScenerySetInvented(sceneryItem); }