+ void show_help();
+
+ void change(int x, int y, int newtile, int layer);
+
+ void load_buttons_gfx();
+ void free_buttons_gfx();
+
+ Level* level;
+ std::string level_filename;
+
+ size_t sectornum; // number of current sector
+ Sector* sector; // current sector
+ TileMap *solids, *foregrounds, *backgrounds;
+ std::string sector_name;
+
+ std::set<std::string> level_subsets;
+ LevelSubset* level_subset;
+ int level_nb;
+
+ Menu* main_menu;
+ Menu* subset_menu;
+ Menu* create_subset_menu;
+ Menu* settings_menu;
+
+ bool left_button, middle_button, mouse_moved;
+ int mouse_x, mouse_y;
+ bool done;
+ bool show_grid;
+
+ Vector scroll;
+ float zoom;
+
+ Timer2 level_name_timer;
+
+ Surface *img_background_bt, *img_foreground_bt, *img_interactive_bt;
+ Surface *img_save_level_bt, *img_setup_level_bt, *img_test_level_bt;
+ Surface *img_rubber_bt;
+ Surface *img_previous_level_bt, *img_next_level_bt, *img_previous_sector_bt, *img_next_sector_bt;
+
+ ButtonGroup *tiles_board, *tiles_layer, *level_options;
+ int gameobjs_first_id, cur_layer;
+
+ std::vector <std::vector <int> > selection;
+ Vector selection_ini, selection_end;
+
+ bool level_changed;
+
+private:
+ Sector* create_sector(const std::string& name, size_t width, size_t height);
+};