diff --git a/distribution/changelog.txt b/distribution/changelog.txt index a7779cd08d..f9f5a0b353 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -10,6 +10,7 @@ - Change: [#7877] Files are now sorted in logical rather than dictionary order. - Change: [#8688] Move common actions from debug menu into cheats menu. - Fix: [#5103] OpenGL: ride track preview not rendered. +- Fix: [#5889] Giant screenshot does not work while using OpenGL renderer. - Fix: [#5579] Network desync immediately after connecting. - Fix: [#5893] Looking at guest window tabs other than the main tab eventually causes assertion. - Fix: [#5905] Urban Park merry-go-round has entrance and exit swapped (original bug). diff --git a/src/openrct2/interface/Screenshot.cpp b/src/openrct2/interface/Screenshot.cpp index 763fd2a89a..0075b9340b 100644 --- a/src/openrct2/interface/Screenshot.cpp +++ b/src/openrct2/interface/Screenshot.cpp @@ -17,6 +17,7 @@ #include "../core/Console.hpp" #include "../core/Imaging.h" #include "../drawing/Drawing.h" +#include "../drawing/X8DrawingEngine.h" #include "../localisation/Localisation.h" #include "../platform/platform.h" #include "../util/Util.h" @@ -31,6 +32,7 @@ #include using namespace OpenRCT2; +using namespace OpenRCT2::Drawing; uint8_t gScreenshotCountdown = 0; @@ -293,6 +295,9 @@ void screenshot_giant() dpi.zoom_level = 0; dpi.bits = (uint8_t*)malloc(dpi.width * dpi.height); + auto drawingEngine = std::make_unique(GetContext()->GetUiContext()); + dpi.DrawingEngine = drawingEngine.get(); + viewport_render(&dpi, &viewport, 0, 0, viewport.width, viewport.height); // Get a free screenshot path