X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsupertux%2Ftitle_screen.cpp;h=7b70f457afcac346543c2d4fdb62cd5040a08306;hb=b91dbe6bc1d5047a127cdc688dda836c59e8c2d1;hp=681e3e3b7c88e17e062dc7a069f10ef721586b7d;hpb=fb7ec3e0b1fefa5d88bd1a4c8b81a3b71a72c1fd;p=supertux.git diff --git a/src/supertux/title_screen.cpp b/src/supertux/title_screen.cpp index 681e3e3b7..7b70f457a 100644 --- a/src/supertux/title_screen.cpp +++ b/src/supertux/title_screen.cpp @@ -40,13 +40,14 @@ #include #include -TitleScreen::TitleScreen(PlayerStatus* player_status) : +TitleScreen::TitleScreen(Savegame& savegame) : frame(), controller(), - titlesession() + titlesession(), + copyright_text() { controller.reset(new CodeController()); - titlesession.reset(new GameSession("levels/misc/menu.stl", player_status)); + titlesession.reset(new GameSession("levels/misc/menu.stl", savegame)); Player* player = titlesession->get_current_sector()->player; player->set_controller(controller.get()); @@ -54,33 +55,12 @@ TitleScreen::TitleScreen(PlayerStatus* player_status) : frame = Surface::create("images/engine/menu/frame.png"); copyright_text = "SuperTux " PACKAGE_VERSION "\n" + - _("Copyright") + " (c) 2003-2014 SuperTux Devel Team\n" + + _("Copyright") + " (c) 2003-2015 SuperTux Devel Team\n" + _("This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" "redistribute it under certain conditions; see the file COPYING for details.\n" ); } -std::string -TitleScreen::get_level_name(const std::string& filename) -{ - try { - lisp::Parser parser; - const lisp::Lisp* root = parser.parse(filename); - - const lisp::Lisp* level = root->get_lisp("supertux-level"); - if(!level) - return ""; - - std::string name; - level->get("name", name); - return name; - } catch(std::exception& e) { - log_warning << "Problem getting name of '" << filename << "': " - << e.what() << std::endl; - return ""; - } -} - void TitleScreen::make_tux_jump() { @@ -139,8 +119,10 @@ TitleScreen::draw(DrawingContext& context) Sector* sector = titlesession->get_current_sector(); sector->draw(context); - // FIXME: Add something to scale the frame to the resolution of the screen - //context.draw_surface(frame, Vector(0,0),LAYER_FOREGROUND1); + context.draw_surface_part(frame, + Rectf(0, 0, frame->get_width(), frame->get_height()), + Rectf(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT), + LAYER_FOREGROUND1); context.draw_text(Resources::small_font, copyright_text, @@ -151,17 +133,15 @@ TitleScreen::draw(DrawingContext& context) void TitleScreen::update(float elapsed_time) { - g_screen_manager->set_speed(0.6f); + ScreenManager::current()->set_speed(0.6f); Sector* sector = titlesession->get_current_sector(); sector->update(elapsed_time); make_tux_jump(); - MenuManager::instance().check_menu(); - // reopen menu if user closed it (so that the app doesn't close when user // accidently hit ESC) - if(!MenuManager::instance().is_active() && g_screen_manager->has_no_pending_fadeout()) + if(!MenuManager::instance().is_active() && !ScreenManager::current()->has_pending_fadeout()) { MenuManager::instance().set_menu(MenuStorage::MAIN_MENU); }