7 // Author: Tobias Glaesser <tobi.web@gmx.de>, (C) 2003
9 // Copyright: See COPYING file that comes with this distribution
13 #ifndef SUPERTUX_LEVEL_H
14 #define SUPERTUX_LEVEL_H
18 /* This type holds meta-information about a level-subset. */
19 /* It could be extended to handle manipulation of subsets. */
20 typedef struct st_subset
29 void subset_init(st_subset* st_subset);
30 void subset_load(st_subset* st_subset, char *subset);
31 void subset_save(st_subset* st_subset);
32 void subset_free(st_subset* st_subset);
34 #define LEVEL_NAME_MAX 20
36 typedef struct st_level /*It is easier to read the sources IMHO, if we don't write something like int a,b,c; */
38 char name[LEVEL_NAME_MAX];
42 unsigned char* tiles[15];
51 extern texture_type img_bkgd, img_bkgd_tile[2][4], img_solid[4], img_brick[2];
53 int level_load(st_level* plevel, char * subset, int level);
54 void level_save(st_level* plevel, char * subset, int level);
55 void level_free(st_level* plevel);
56 void level_load_gfx(st_level* plevel);
57 void level_free_gfx();
58 void level_load_image(texture_type* ptexture, char* theme, char * file, int use_alpha);
59 void level_change(st_level* plevel, float x, float y, unsigned char c);
60 void level_load_song(st_level* plevel);
61 void level_free_song(void);
63 #endif /*SUPERTUX_LEVEL_H*/