From 8864f6cf51133155d23a845664bdb2e5b40784d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sun, 18 Feb 2024 02:47:58 +0200 Subject: [PATCH] Add ViewportGetMain --- src/openrct2/interface/Viewport.cpp | 10 ++++++++++ src/openrct2/interface/Viewport.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 345ee3d480..a6e2382adb 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -229,6 +229,16 @@ void ViewportRemove(Viewport* viewport) _viewports.erase(it); } +Viewport* ViewportGetMain() +{ + auto mainWindow = WindowGetMain(); + if (mainWindow == nullptr) + { + return nullptr; + } + return mainWindow->viewport; +} + void ViewportsInvalidate(const ScreenRect& screenRect, ZoomLevel maxZoom) { for (auto& vp : _viewports) diff --git a/src/openrct2/interface/Viewport.h b/src/openrct2/interface/Viewport.h index 74287b9198..70e6aacd34 100644 --- a/src/openrct2/interface/Viewport.h +++ b/src/openrct2/interface/Viewport.h @@ -129,6 +129,7 @@ void ViewportInitAll(); std::optional centre_2d_coordinates(const CoordsXYZ& loc, Viewport* viewport); void ViewportCreate(WindowBase* w, const ScreenCoordsXY& screenCoords, int32_t width, int32_t height, const Focus& focus); void ViewportRemove(Viewport* viewport); +Viewport* ViewportGetMain(); void ViewportsInvalidate(const ScreenRect& screenRect, ZoomLevel maxZoom = ZoomLevel{ -1 }); void ViewportUpdatePosition(WindowBase* window); void ViewportUpdateFollowSprite(WindowBase* window);