Removed trailing whitespace from all *.?pp files
[supertux.git] / src / supertux / title_screen.hpp
index b61fb01..7df4078 100644 (file)
 #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 Menu;
+class PlayerStatus;
 class World;
-class CodeController;
 
 /**
  * Screen that displays the SuperTux logo, lets players start a new game, etc.
@@ -31,7 +34,7 @@ class CodeController;
 class TitleScreen : public Screen
 {
 public:
-  TitleScreen();
+  TitleScreen(PlayerStatus* player_status);
   virtual ~TitleScreen();
 
   virtual void setup();
@@ -42,32 +45,13 @@ public:
   virtual void update(float elapsed_time);
 
 private:
-  std::string get_level_name(const std::string& levelfile);
-  void start_game();
   void make_tux_jump();
-  void update_load_game_menu();
-  void generate_main_menu();
-  void generate_contrib_menu();
-  void check_levels_contrib_menu();
-  void check_contrib_world_menu();
-  void free_contrib_menu();
-  void generate_addons_menu();
-  void check_addons_menu();
-  void free_addons_menu();
 
 private:
-  std::auto_ptr<Menu> main_menu;
-  std::auto_ptr<Menu> contrib_menu;
-  std::auto_ptr<Menu> contrib_world_menu;
-  std::auto_ptr<World> main_world;
-  std::vector<World*> contrib_worlds;
-  std::auto_ptr<Menu> addons_menu;
-  std::vector<Addon*> addons; /**< shown list of Add-ons */
-  World* current_world;
-
-  std::auto_ptr<Surface> frame;
-  std::auto_ptr<CodeController> controller;
-  std::auto_ptr<GameSession> titlesession;
+  SurfacePtr frame;
+  std::unique_ptr<CodeController> controller;
+  std::unique_ptr<GameSession> titlesession;
+  std::string copyright_text;
 
 private:
   TitleScreen(const TitleScreen&);