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.
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();
virtual void update(float elapsed_time);
-public:
- static void start_game(World* world);
-
private:
void make_tux_jump();
- void generate_main_menu();
-
+
private:
- std::auto_ptr<MainMenu> main_menu;
- 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&);