+ select_objects_menu->arrange_left = true;
+ select_objects_menu->additem(MN_LABEL,"Select Objects",0,0);
+ select_objects_menu->additem(MN_HL,"",0,0);
+ select_objects_menu->additem(MN_ACTION,"BadGuys",0,0,1);
+ objects_map["BadGuys"] = new ButtonPanel(screen->w - 64,96, 64, 318);
+
+ for(int i = 0; i < NUM_BadGuyKinds; ++i)
+ {
+ BadGuy bad_tmp(0,0,BadGuyKind(i),false);
+ objects_map["BadGuys"]->additem(new Button("", "BadGuy",(SDLKey)(i+'a'),0,0,32,32),1000000+i);
+ objects_map["BadGuys"]->manipulate_button(i)->set_game_object(new BadGuy(objects_map["BadGuys"]->manipulate_button(i)->get_pos().x,objects_map["BadGuys"]->manipulate_button(i)->get_pos().y,BadGuyKind(i),false));
+ }
+
+ select_objects_menu->additem(MN_HL,"",0,0);
+
+}
+
+int le_init()
+{
+ level_subsets = dsubdirs("/levels", "info");
+ le_level_subset = new LevelSubset;
+
+ active_tm = TM_IA;
+ le_show_grid = true;
+ scroll_x = 0;
+
+ fire = DOWN;
+ done = 0;
+ le_frame = 0; /* support for frames in some tiles, like waves and bad guys */
+ le_level_changed = false;
+ le_current_level = NULL;
+
+ le_mouse_pressed[LEFT] = false;
+ le_mouse_pressed[RIGHT] = false;
+
+ le_selection = new Surface(datadir + "/images/leveleditor/select.png", USE_ALPHA);
+
+ select_tilegroup_menu_effect.init(false);
+ select_objects_menu_effect.init(false);
+
+ /* Load buttons */
+ le_save_level_bt = new Button("/images/icons/save.png","Save level", SDLK_F6,screen->w-64,32);
+ le_exit_bt = new Button("/images/icons/exit.png","Exit", SDLK_F6,screen->w-32,32);
+ le_next_level_bt = new Button("/images/icons/up.png","Next level", SDLK_PAGEUP,screen->w-64,0);
+ le_previous_level_bt = new Button("/images/icons/down.png","Previous level",SDLK_PAGEDOWN,screen->w-32,0);
+ le_rubber_bt = new Button("/images/icons/rubber.png","Rubber",SDLK_DELETE,screen->w-32,48);
+ le_select_mode_one_bt = new Button ("/images/icons/select-mode1.png","Select single tile",SDLK_F3,screen->w-64,48);
+ le_select_mode_two_bt = new Button("/images/icons/select-mode2.png","Select multiple tiles",SDLK_F3,screen->w-64,48);
+ le_test_level_bt = new Button("/images/icons/test-level.png","Test level",SDLK_F4,screen->w-64,screen->h - 64);
+ le_settings_bt = new Button("/images/icons/settings.png","Level settings",SDLK_F5,screen->w-32,screen->h - 64);
+ le_move_left_bt = new Button("/images/icons/left.png","Move left",SDLK_LEFT,0,0);
+ le_move_right_bt = new Button("/images/icons/right.png","Move right",SDLK_RIGHT,screen->w-80,0);
+ le_tilegroup_bt = new Button("/images/icons/tilegroup.png","Select Tilegroup", SDLK_F7,screen->w-64,64);
+ le_objects_bt = new Button("/images/icons/objects.png","Select Objects", SDLK_F7,screen->w-64,80);
+
+ le_tilemap_panel = new ButtonPanel(screen->w-64,screen->h-32,32,32);
+ le_tilemap_panel->set_button_size(32,10);
+ le_tilemap_panel->additem(new Button("/images/icons/bkgrd.png","Background",SDLK_F4,0,0),TM_BG);
+ le_tilemap_panel->additem(new Button("/images/icons/intact.png","Interactive",SDLK_F4,0,0),TM_IA);
+ le_tilemap_panel->additem(new Button("/images/icons/frgrd.png","Foreground",SDLK_F4,0,0),TM_FG);
+
+ le_current.Init();
+
+ le_init_menus();
+