diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp index 74a780aa..61b1118d 100644 --- a/desktop_version/src/Game.cpp +++ b/desktop_version/src/Game.cpp @@ -6666,6 +6666,11 @@ static void nextbgcolor(void) map.nexttowercolour(); } +static void setfademode(void) +{ + graphics.fademode = graphics.ingame_fademode; +} + void Game::returntoingame(void) { ingame_titlemode = false; @@ -6684,6 +6689,7 @@ void Game::returntoingame(void) DEFER_CALLBACK(returntoingametemp); gamestate = MAPMODE; graphics.flipmode = graphics.setflipmode; + DEFER_CALLBACK(setfademode); if (!map.custommode && !graphics.flipmode) { obj.flags[73] = true; diff --git a/desktop_version/src/Graphics.cpp b/desktop_version/src/Graphics.cpp index 7254bba8..a4e7c8eb 100644 --- a/desktop_version/src/Graphics.cpp +++ b/desktop_version/src/Graphics.cpp @@ -98,6 +98,7 @@ void Graphics::init(void) setfade(0); fademode = 0; + ingame_fademode = 0; // initialize everything else to zero backBuffer = NULL; diff --git a/desktop_version/src/Graphics.h b/desktop_version/src/Graphics.h index 366857b8..af41b09b 100644 --- a/desktop_version/src/Graphics.h +++ b/desktop_version/src/Graphics.h @@ -295,6 +295,7 @@ public: int fadeamount; int oldfadeamount; int fadebars[15]; + int ingame_fademode; bool trinketcolset; int trinketr, trinketg, trinketb; diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp index 549e3e96..b06fa62a 100644 --- a/desktop_version/src/Input.cpp +++ b/desktop_version/src/Input.cpp @@ -2320,6 +2320,8 @@ static void mapmenuactionpress(void) game.gamestate = TITLEMODE; graphics.flipmode = false; game.ingame_titlemode = true; + graphics.ingame_fademode = graphics.fademode; + graphics.fademode = 0; // Set this before we create the menu game.kludge_ingametemp = game.currentmenuname;