Added simple cheat menu to grow/fire/ice/shrink/... Tux
[supertux.git] / src / supertux / game_session.cpp
index 028d51c..3ddedfc 100644 (file)
 #include "supertux/gameconfig.hpp"
 #include "supertux/globals.hpp"
 #include "supertux/levelintro.hpp"
+#include "supertux/levelset_screen.hpp"
 #include "supertux/menu/menu_storage.hpp"
 #include "supertux/menu/options_menu.hpp"
 #include "supertux/player_status.hpp"
+#include "supertux/savegame.hpp"
 #include "supertux/screen_fade.hpp"
 #include "supertux/screen_manager.hpp"
 #include "supertux/sector.hpp"
-#include "supertux/savegame.hpp"
 #include "util/file_system.hpp"
 #include "util/gettext.hpp"
 #include "worldmap/worldmap.hpp"
@@ -409,7 +410,6 @@ GameSession::setup()
 void
 GameSession::leave()
 {
-  m_savegame.save();
 }
 
 void
@@ -417,7 +417,15 @@ GameSession::update(float elapsed_time)
 {
   // handle controller
   if(g_input_manager->get_controller()->pressed(Controller::PAUSE_MENU))
+  {
     on_escape_press();
+  }
+
+  if(g_input_manager->get_controller()->pressed(Controller::CHEAT_MENU))
+  {
+    game_pause = true;
+    MenuManager::instance().set_menu(MenuStorage::CHEAT_MENU);
+  }
 
   process_events();
   MenuManager::instance().check_menu();
@@ -494,7 +502,14 @@ GameSession::finish(bool win)
 
   if(win) {
     if(WorldMap::current())
+    {
       WorldMap::current()->finished_level(level.get());
+    }
+
+    if (LevelsetScreen::current())
+    {
+      LevelsetScreen::current()->finished_level(win);
+    }
   }
 
   g_screen_manager->pop_screen();