X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsupertux%2Ftitle_screen.hpp;h=65f68ea6f8226879acce31aa28d5d9234a511db2;hb=127a53d73c5dff3fac5b10ff3f1dd087938d8c7f;hp=492fd114e46daf107a7fdaad5ae124d30fe6d27b;hpb=446fbdb577923af3d38f9d32d4a89bb2ea6da566;p=supertux.git diff --git a/src/supertux/title_screen.hpp b/src/supertux/title_screen.hpp index 492fd114e..65f68ea6f 100644 --- a/src/supertux/title_screen.hpp +++ b/src/supertux/title_screen.hpp @@ -18,16 +18,16 @@ #ifndef HEADER_SUPERTUX_SUPERTUX_TITLE_HPP #define HEADER_SUPERTUX_SUPERTUX_TITLE_HPP -#include "addon/addon.hpp" #include "supertux/game_session.hpp" class AddonMenu; class CodeController; class ContribMenu; class ContribWorldMenu; -class MainMenu; class Menu; +class PlayerStatus; class World; +class Savegame; /** * Screen that displays the SuperTux logo, lets players start a new game, etc. @@ -35,10 +35,7 @@ class World; class TitleScreen : public Screen { public: - static std::string get_level_name(const std::string& levelfile); - -public: - TitleScreen(); + TitleScreen(Savegame& savegame); virtual ~TitleScreen(); virtual void setup(); @@ -49,24 +46,13 @@ public: virtual void update(float elapsed_time); private: - void start_game(); void make_tux_jump(); - void generate_main_menu(); - void check_levels_contrib_menu(); private: - std::auto_ptr main_menu; - std::auto_ptr contrib_menu; - std::auto_ptr contrib_world_menu; - std::auto_ptr addons_menu; - - std::auto_ptr main_world; - std::vector contrib_worlds; - World* current_world; - - std::auto_ptr frame; - std::auto_ptr controller; - std::auto_ptr titlesession; + SurfacePtr frame; + std::unique_ptr controller; + std::unique_ptr titlesession; + std::string copyright_text; private: TitleScreen(const TitleScreen&);