X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fworldmap%2Fworldmap.hpp;h=87c83a9385fbb5914748c8b5a6a9746aac243946;hb=5667d7e94d85f968ab914bc457edd689fc907253;hp=bfcf9609985e1a704b0b31bb2ed0bb49962dfb76;hpb=f9eba980c51c60137ec197182d140e0f76a8d7b2;p=supertux.git diff --git a/src/worldmap/worldmap.hpp b/src/worldmap/worldmap.hpp index bfcf96099..87c83a938 100644 --- a/src/worldmap/worldmap.hpp +++ b/src/worldmap/worldmap.hpp @@ -65,13 +65,19 @@ Direction string_to_direction(const std::string& d); Direction reverse_dir(Direction d); /** - * Screen that displays a worldmap + * Screen that runs a WorldMap, which lets the player choose a Level. */ class WorldMap : public Screen { + static Color level_title_color; + static Color message_color; + static Color teleporter_message_color; private: Tux* tux; + TileSet *tileset; + bool free_tileset; + static WorldMap* current_; std::auto_ptr worldmap_menu; @@ -86,8 +92,6 @@ private: GameObjects game_objects; std::list solid_tilemaps; - std::auto_ptr tile_manager; - public: /** Variables to deal with the passive map messages */ Timer passive_message_timer; @@ -118,6 +122,10 @@ private: bool in_level; + /* variables to track panning to a spawn point */ + Vector pan_pos; + bool panning; + public: WorldMap(const std::string& filename, const std::string& force_spawnpoint = ""); ~WorldMap(); @@ -161,6 +169,9 @@ public: */ void finished_level(Level* level); + /** returns current Tux incarnation */ + Tux* get_tux() { return tux; } + LevelTile* at_level(); SpecialTile* at_special_tile(); SpriteChange* at_sprite_change(const Vector& pos); @@ -198,7 +209,7 @@ public: /** * moves Tux to the given spawnpoint */ - void move_to_spawnpoint(const std::string& spawnpoint); + void move_to_spawnpoint(const std::string& spawnpoint, bool pan =false); /** * returns the width (in tiles) of a worldmap @@ -217,6 +228,9 @@ private: void load(const std::string& filename); void on_escape_press(); + + Vector get_camera_pos_for_tux(); + void clamp_camera_position(Vector& c); }; } // namespace WorldMapNS