X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel.h;h=70015fc591cfd97c1163dcd9bb7c4014f92124b6;hb=157cef71aeb9ae25b7bb90f37dda11bc09329d11;hp=8e70354f0a782b6123a7c945d2f1856091489668;hpb=e74e367f3e048b551d8b5d75236b76d7a771bc81;p=supertux.git diff --git a/src/level.h b/src/level.h index 8e70354f0..70015fc59 100644 --- a/src/level.h +++ b/src/level.h @@ -29,6 +29,7 @@ #include "gameobjs.h" class Tile; +class World; /** This type holds meta-information about a level-subset. It could be extended to handle manipulation of subsets. */ @@ -79,9 +80,9 @@ class Level std::string song_title; std::string bkgd_image; std::string particle_system; - std::vector > bg_tiles; /* Tiles in the background */ - std::vector > ia_tiles; /* Tiles which can interact in the game (solids for example)*/ - std::vector > fg_tiles; /* Tiles in the foreground */ + std::vector bg_tiles; /* Tiles in the background */ + std::vector ia_tiles; /* Tiles which can interact in the game (solids for example)*/ + std::vector fg_tiles; /* Tiles in the foreground */ // std::vector bg_tiles[15]; /* Tiles in the background */ // std::vector ia_tiles[15]; /* Tiles which can interact in the game (solids for example)*/ // std::vector fg_tiles[15]; /* Tiles in the foreground */ @@ -91,21 +92,17 @@ class Level int width; int height; int bkgd_speed; - int start_pos_x; - int start_pos_y; + Vector start_pos; float gravity; bool back_scrolling; float hor_autoscroll_speed; - std::vector badguy_data; - std::vector< ObjectData > trampoline_data; - /** A collection of points to which Tux can be reset after a lost live */ std::vector reset_points; public: Level(); - Level(const std::string& subset, int level); - Level(const std::string& filename); + Level(const std::string& subset, int level, World* world); + Level(const std::string& filename, World* world); ~Level(); /** Will the Level structure with default values */ @@ -115,12 +112,16 @@ class Level void cleanup(); /** Load data for this level: - Returns -1, if the loading of the level failed. */ - int load(const std::string& subset, int level); + Returns -1, if the loading of the level failed. + XXX the world parameter is a temporary hack + */ + int load(const std::string& subset, int level, World* world); /** Load data for this level: - Returns -1, if the loading of the level failed. */ - int load(const std::string& filename); + Returns -1, if the loading of the level failed. + XXX the world parameter is a temporary hack + */ + int load(const std::string& filename, World* world); void load_gfx(); @@ -129,17 +130,14 @@ class Level MusicRef get_level_music(); MusicRef get_level_music_fast(); - void save(const std::string& subset, int level); + // XXX the world parameter is a temporary hack + void save(const std::string& subset, int level, World* world); /** Edit a piece of the map! */ void change(float x, float y, int tm, unsigned int c); /** Resize the level to a new width/height */ - void change_width (int new_width); - void change_height (int new_height); - - /* Draw background */ - void draw_bg(); + void resize(int new_width, int new_height); /** Return the id of the tile at position x/y */ unsigned int gettileid(float x, float y) const;