X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel.h;h=521c148453533081e7f64a604e0180eef8c0100b;hb=a773fb8a2e63ec07086f4a03b1e94340ea170c73;hp=aefc1ee288bc28d55029b7ad58fc9d484e256cc0;hpb=b613901b4b6089d6fc5ee33f9ec76909a42e9f28;p=supertux.git diff --git a/src/level.h b/src/level.h index aefc1ee28..521c14845 100644 --- a/src/level.h +++ b/src/level.h @@ -15,6 +15,7 @@ #include #include "texture.h" +#include "badguy.h" #include "lispreader.h" /* This type holds meta-information about a level-subset. */ @@ -40,23 +41,39 @@ class st_subset #define LEVEL_NAME_MAX 20 -typedef struct st_level + +enum TileMapType { + TM_BG, + TM_IA, + TM_FG + }; + +extern texture_type img_bkgd; +extern texture_type img_bkgd_tile[2][4]; +extern texture_type img_solid[4]; +extern texture_type img_brick[2]; + +class st_level { + public: std::string name; std::string theme; std::string song_title; std::string bkgd_image; - unsigned int* tiles[15]; + std::string particle_system; + unsigned int* bg_tiles[15]; /* Tiles in the background */ + unsigned int* ia_tiles[15]; /* Tiles which can interact in the game (solids for example)*/ + unsigned int* fg_tiles[15]; /* Tiles in the foreground */ int time_left; int bkgd_red; int bkgd_green; int bkgd_blue; int width; float gravity; -} -st_level; -extern texture_type img_bkgd, img_bkgd_tile[2][4], img_solid[4], img_brick[2]; + std::vector badguy_data; + public: +}; void level_default (st_level* plevel); int level_load (st_level* plevel, const char * subset, int level); @@ -65,7 +82,8 @@ int level_load (st_level* plevel, const char* filename); void level_save (st_level* plevel, const char * subset, int level); void level_free (st_level* plevel); void level_load_gfx (st_level* plevel); -void level_change (st_level* plevel, float x, float y, unsigned char c); +void level_change (st_level* plevel, float x, float y, int tm, unsigned int c); +void level_change_size (st_level* plevel, int new_width); void level_load_song(st_level* plevel); void level_free_gfx(); void level_load_image(texture_type* ptexture, std::string theme, const char * file, int use_alpha);