diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp index a5640fc0..b85e1880 100644 --- a/desktop_version/src/Game.cpp +++ b/desktop_version/src/Game.cpp @@ -370,6 +370,9 @@ void Game::init(void) playry = 0; playgc = 0; + fadetomenu = false; + fadetomenudelay = 0; + /* Terry's Patrons... */ superpatrons.push_back("Anders Ekermo"); superpatrons.push_back("Andreas K|mper"); diff --git a/desktop_version/src/Game.h b/desktop_version/src/Game.h index 47fe2204..8259a0e8 100644 --- a/desktop_version/src/Game.h +++ b/desktop_version/src/Game.h @@ -381,6 +381,8 @@ public: void quittomenu(); void returntolab(); + bool fadetomenu; + int fadetomenudelay; }; extern Game game; diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp index 6125bdf0..0176aa6b 100644 --- a/desktop_version/src/Input.cpp +++ b/desktop_version/src/Input.cpp @@ -1812,6 +1812,19 @@ void mapinput() game.press_action = false; game.press_map = false; + if (game.fadetomenu) + { + if (game.fadetomenudelay > 0) + { + game.fadetomenudelay--; + } + else + { + game.quittomenu(); + game.fadetomenu = false; + } + } + if(graphics.menuoffset==0) { if (graphics.flipmode) @@ -1970,6 +1983,8 @@ void mapinput() graphics.fademode = 2; music.fadeout(); map.nexttowercolour(); + game.fadetomenu = true; + game.fadetomenudelay = 15; } }