diff --git a/src/states_screens/main_menu_screen.cpp b/src/states_screens/main_menu_screen.cpp index 54ce7efa3..e69e655c8 100644 --- a/src/states_screens/main_menu_screen.cpp +++ b/src/states_screens/main_menu_screen.cpp @@ -98,6 +98,21 @@ void MainMenuScreen::loadedFromFile() #endif } // loadedFromFile +// ---------------------------------------------------------------------------- + +void MainMenuScreen::beforeAddingWidget() +{ + IconButtonWidget* w = getWidget("story"); + assert(w != NULL); + + if (track_manager->getTrack("overworld") == NULL || + track_manager->getTrack("introcutscene") == NULL || + track_manager->getTrack("introcutscene2") == NULL) + { + w->setVisible(false); + } +} + // ---------------------------------------------------------------------------- // void MainMenuScreen::init() diff --git a/src/states_screens/main_menu_screen.hpp b/src/states_screens/main_menu_screen.hpp index f4d203045..4e79c4532 100644 --- a/src/states_screens/main_menu_screen.hpp +++ b/src/states_screens/main_menu_screen.hpp @@ -52,6 +52,9 @@ public: /** \brief implement callback from parent class GUIEngine::Screen */ virtual void loadedFromFile() OVERRIDE; + + /** \brief implement callback from parent class GUIEngine::Screen */ + virtual void beforeAddingWidget() OVERRIDE; /** \brief implement callback from parent class GUIEngine::Screen */ virtual void eventCallback(GUIEngine::Widget* widget, const std::string& name,