From 348df5a9860607b78a7b842be1f09ae486e46ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 1 Aug 2024 00:20:26 +0300 Subject: [PATCH] Clear the screen with color in the drawing engine and not each tick --- .../drawing/engines/HardwareDisplayDrawingEngine.cpp | 2 ++ .../drawing/engines/opengl/OpenGLDrawingEngine.cpp | 1 + src/openrct2/drawing/X8DrawingEngine.cpp | 1 + src/openrct2/scenes/preloader/PreloaderScene.cpp | 5 ----- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/openrct2-ui/drawing/engines/HardwareDisplayDrawingEngine.cpp b/src/openrct2-ui/drawing/engines/HardwareDisplayDrawingEngine.cpp index 8732944473..e1c4fcc02b 100644 --- a/src/openrct2-ui/drawing/engines/HardwareDisplayDrawingEngine.cpp +++ b/src/openrct2-ui/drawing/engines/HardwareDisplayDrawingEngine.cpp @@ -158,6 +158,8 @@ public: _screenTextureFormat = SDL_AllocFormat(format); ConfigureBits(width, height, width); + + _drawingContext->Clear(_bitsDPI, PALETTE_INDEX_10); } void SetPalette(const GamePalette& palette) override diff --git a/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp b/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp index 88745adf7e..ff519e30c8 100644 --- a/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp @@ -245,6 +245,7 @@ public: ConfigureBits(width, height, width); ConfigureCanvas(); _drawingContext->Resize(width, height); + _drawingContext->Clear(_bitsDPI, PALETTE_INDEX_10); } void SetPalette(const GamePalette& palette) override diff --git a/src/openrct2/drawing/X8DrawingEngine.cpp b/src/openrct2/drawing/X8DrawingEngine.cpp index 4c139de5d8..5ad214c5f7 100644 --- a/src/openrct2/drawing/X8DrawingEngine.cpp +++ b/src/openrct2/drawing/X8DrawingEngine.cpp @@ -139,6 +139,7 @@ void X8DrawingEngine::Resize(uint32_t width, uint32_t height) { uint32_t pitch = width; ConfigureBits(width, height, pitch); + _drawingContext->Clear(_bitsDPI, PALETTE_INDEX_10); } void X8DrawingEngine::SetPalette([[maybe_unused]] const GamePalette& palette) diff --git a/src/openrct2/scenes/preloader/PreloaderScene.cpp b/src/openrct2/scenes/preloader/PreloaderScene.cpp index cbf1a7dc32..298757c8bf 100644 --- a/src/openrct2/scenes/preloader/PreloaderScene.cpp +++ b/src/openrct2/scenes/preloader/PreloaderScene.cpp @@ -52,11 +52,6 @@ void PreloaderScene::Tick() ContextHandleInput(); WindowInvalidateAll(); - // Reset screen - auto* engine = GetContext().GetDrawingEngine(); - auto* drawingContext = engine->GetDrawingContext(); - drawingContext->Clear(*engine->GetDrawingPixelInfo(), PALETTE_INDEX_10); - gInUpdateCode = false; if (_jobs.CountPending() == 0 && _jobs.CountProcessing() == 0)