From 2153163cbd0a57783e646523c62e83bfe1be2277 Mon Sep 17 00:00:00 2001 From: random-geek <35757396+random-geek@users.noreply.github.com> Date: Fri, 15 Feb 2019 11:44:21 -0800 Subject: [PATCH] Fix coloured fog in main menu (#8181) Fixes #4727. The issue was due to the video driver fog colour never getting reset after closing the game. --- src/gui/guiEngine.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/gui/guiEngine.cpp b/src/gui/guiEngine.cpp index 241c85aa8..6030a5bfb 100644 --- a/src/gui/guiEngine.cpp +++ b/src/gui/guiEngine.cpp @@ -242,6 +242,24 @@ void GUIEngine::run() irr::core::dimension2d previous_screen_size(g_settings->getU16("screen_w"), g_settings->getU16("screen_h")); + static const video::SColor sky_color(255, 140, 186, 250); + + // Reset fog color + { + video::SColor fog_color; + video::E_FOG_TYPE fog_type = video::EFT_FOG_LINEAR; + f32 fog_start = 0; + f32 fog_end = 0; + f32 fog_density = 0; + bool fog_pixelfog = false; + bool fog_rangefog = false; + driver->getFog(fog_color, fog_type, fog_start, fog_end, fog_density, + fog_pixelfog, fog_rangefog); + + driver->setFog(sky_color, fog_type, fog_start, fog_end, fog_density, + fog_pixelfog, fog_rangefog); + } + while (RenderingEngine::run() && (!m_startgame) && (!m_kill)) { const irr::core::dimension2d ¤t_screen_size = @@ -263,7 +281,7 @@ void GUIEngine::run() text_height = g_fontengine->getTextHeight(); } - driver->beginScene(true, true, video::SColor(255,140,186,250)); + driver->beginScene(true, true, sky_color); if (m_clouds_enabled) {