From 89d050c4b8139e820e86f1dc4c4245ba85a67750 Mon Sep 17 00:00:00 2001 From: Aaron van Geffen Date: Sat, 31 Aug 2024 19:17:49 +0200 Subject: [PATCH] Adjust window mode when switching from/to sandbox mode --- src/openrct2-ui/windows/LandRights.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/openrct2-ui/windows/LandRights.cpp b/src/openrct2-ui/windows/LandRights.cpp index 614a593d87..2e054e2b77 100644 --- a/src/openrct2-ui/windows/LandRights.cpp +++ b/src/openrct2-ui/windows/LandRights.cpp @@ -248,9 +248,26 @@ static Widget window_land_rights_widgets[] = { void OnUpdate() override { frame_no++; + // Close window if another tool is open if (!isToolActive(WindowClass::LandRights)) + { Close(); + return; + } + + bool inRightsMode = _landRightsMode == LandRightsMode::BuyLand + || _landRightsMode == LandRightsMode::BuyConstructionRights; + + if (!IsOwnershipMode() && !inRightsMode) + { + if (gLandRemainingOwnershipSales > 0) + SwitchToMode(LandRightsMode::BuyLand); + else + SwitchToMode(LandRightsMode::BuyConstructionRights); + } + else if (IsOwnershipMode() && inRightsMode) + SwitchToMode(LandRightsMode::SetLandUnowned); } void PrepareDrawInGame()