+void
+MainMenu::check_menu()
+{
+ switch (check())
+ {
+ case MNID_STARTGAME:
+ if (m_main_world.get() == NULL)
+ {
+ m_main_world.reset(new World());
+ m_main_world->load("levels/world1/info");
+ }
+ TitleScreen::start_game(m_main_world.get());
+ break;
+
+ case MNID_LEVELS_CONTRIB:
+ // Contrib Menu
+ m_contrib_menu.reset(new ContribMenu());
+ MenuManager::push_current(m_contrib_menu.get());
+ break;
+
+ case MNID_ADDONS:
+ // Add-ons Menu
+ m_addon_menu.reset(new AddonMenu());
+ MenuManager::push_current(m_addon_menu.get());
+ break;
+
+ case MNID_CREDITS:
+ MenuManager::set_current(NULL);
+ g_screen_manager->push_screen(new TextScroller("credits.txt"),
+ new FadeOut(0.5));
+ break;
+
+ case MNID_QUITMAINMENU:
+ g_screen_manager->quit(new FadeOut(0.25));
+ sound_manager->stop_music(0.25);
+ break;
+ }
+}
+