Reverted part of revision 02c347cdae86.
[supertux.git] / src / supertux / title_screen.hpp
index f955d7a..f80e1bf 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 MainMenu;
 class Menu;
+class PlayerStatus;
 class World;
 
 /**
@@ -37,7 +38,7 @@ public:
   static std::string get_level_name(const std::string& levelfile);
 
 public:
-  TitleScreen();
+  TitleScreen(PlayerStatus* player_status);
   virtual ~TitleScreen();
 
   virtual void setup();
@@ -47,26 +48,16 @@ public:
 
   virtual void update(float elapsed_time);
 
+public:
+  static void start_game(World* world);
+
 private:
-  void start_game();
   void make_tux_jump();
   void generate_main_menu();
-  void check_levels_contrib_menu();
-  void generate_addons_menu();
-  void check_addons_menu();
-
+  
 private:
-  std::auto_ptr<MainMenu>         main_menu;
-  std::auto_ptr<ContribMenu>      contrib_menu;
-  std::auto_ptr<ContribWorldMenu> 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<MainMenu> main_menu;
+  SurfacePtr frame;
   std::auto_ptr<CodeController> controller;
   std::auto_ptr<GameSession> titlesession;