X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Ftitle.hpp;h=9a267ad22a03c2e49e3b3d3505883bab17a52232;hb=7e1ffbded538860c7f647d4597ee3dcb1f0917ca;hp=746bce7ae4e781126bd17f955a373666cfa6329b;hpb=fc73efa7ff699fe3c9c237845b6f4fda0d999862;p=supertux.git diff --git a/src/title.hpp b/src/title.hpp index 746bce7ae..9a267ad22 100644 --- a/src/title.hpp +++ b/src/title.hpp @@ -25,11 +25,15 @@ #include #include "screen.hpp" #include "game_session.hpp" +#include "addon/addon.hpp" class Menu; class World; class CodeController; +/** + * Screen that displays the SuperTux logo, lets players start a new game, etc. + */ class TitleScreen : public Screen { public: @@ -44,27 +48,31 @@ public: virtual void update(float elapsed_time); private: - std::string get_slotinfo(int slot); std::string get_level_name(const std::string& levelfile); - bool process_load_game_menu(); + 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(); std::auto_ptr main_menu; - std::auto_ptr load_game_menu; std::auto_ptr contrib_menu; std::auto_ptr contrib_world_menu; std::auto_ptr main_world; std::vector contrib_worlds; + std::auto_ptr addons_menu; + std::vector addons; /**< shown list of Add-ons */ World* current_world; - + + std::auto_ptr frame; std::auto_ptr controller; std::auto_ptr titlesession; }; #endif -