-void le_init_menus()
-{
- int i;
-
- leveleditor_menu = new Menu();
- subset_load_menu = new Menu();
- subset_new_menu = new Menu();
- subset_settings_menu = new Menu();
- level_settings_menu = new Menu();
- select_tilegroup_menu = new Menu();
- select_objects_menu = new Menu();
-
- leveleditor_menu->additem(MN_LABEL,"Level Editor Menu",0,0);
- leveleditor_menu->additem(MN_HL,"",0,0);
- leveleditor_menu->additem(MN_ACTION,"Return To Level Editor",0,0,MNID_RETURNLEVELEDITOR);
- leveleditor_menu->additem(MN_DEACTIVE,"Level Subset Settings",0,subset_settings_menu,MNID_SUBSETSETTINGS);
- leveleditor_menu->additem(MN_GOTO,"Load Level Subset",0,subset_load_menu);
- leveleditor_menu->additem(MN_GOTO,"New Level Subset",0,subset_new_menu);
- leveleditor_menu->additem(MN_HL,"",0,0);
- leveleditor_menu->additem(MN_ACTION,"Quit Level Editor",0,0,MNID_QUITLEVELEDITOR);
-
- Menu::set_current(leveleditor_menu);
-
- subset_load_menu->additem(MN_LABEL, "Load Level Subset", 0, 0);
- subset_load_menu->additem(MN_HL, "", 0, 0);
-
- for(i = 0; i < level_subsets.num_items; ++i)
- {
- subset_load_menu->additem(MN_ACTION,level_subsets.item[i],0,0, i+1);
- }
- subset_load_menu->additem(MN_HL,"",0,0);
- subset_load_menu->additem(MN_BACK,"Back",0,0);
-
- subset_new_menu->additem(MN_LABEL,"New Level Subset",0,0);
- subset_new_menu->additem(MN_HL,"",0,0);
- subset_new_menu->additem(MN_TEXTFIELD,"Enter Name",0,0,MNID_SUBSETNAME);
- subset_new_menu->additem(MN_ACTION,"Create",0,0, MNID_CREATESUBSET);
- subset_new_menu->additem(MN_HL,"",0,0);
- subset_new_menu->additem(MN_BACK,"Back",0,0);
-
- subset_settings_menu->additem(MN_LABEL,"Level Subset Settings",0,0);
- subset_settings_menu->additem(MN_HL,"",0,0);
- subset_settings_menu->additem(MN_TEXTFIELD,"Title",0,0,MNID_SUBSETTITLE);
- subset_settings_menu->additem(MN_TEXTFIELD,"Description",0,0,MNID_SUBSETDESCRIPTION);
- subset_settings_menu->additem(MN_HL,"",0,0);
- subset_settings_menu->additem(MN_ACTION,"Save Changes",0,0,MNID_SUBSETSAVECHANGES);
- subset_settings_menu->additem(MN_HL,"",0,0);
- subset_settings_menu->additem(MN_BACK,"Back",0,0);
-
- level_settings_menu->arrange_left = true;
- level_settings_menu->additem(MN_LABEL,"Level Settings",0,0);
- level_settings_menu->additem(MN_HL,"",0,0);
- level_settings_menu->additem(MN_TEXTFIELD, "Name ",0,0,MNID_NAME);
- level_settings_menu->additem(MN_TEXTFIELD, "Author ",0,0,MNID_AUTHOR);
- level_settings_menu->additem(MN_STRINGSELECT,"Song ",0,0,MNID_SONG);
- level_settings_menu->additem(MN_STRINGSELECT,"Bg-Image",0,0,MNID_BGIMG);
- level_settings_menu->additem(MN_STRINGSELECT,"Particle",0,0,MNID_PARTICLE);
- level_settings_menu->additem(MN_NUMFIELD, "Length ",0,0,MNID_LENGTH);
- level_settings_menu->additem(MN_NUMFIELD, "Time ",0,0,MNID_TIME);
- level_settings_menu->additem(MN_NUMFIELD, "Gravity ",0,0,MNID_GRAVITY);
- level_settings_menu->additem(MN_NUMFIELD, "Bg-Img-Speed",0,0,MNID_BGSPEED);
- level_settings_menu->additem(MN_NUMFIELD, "Top Red ",0,0,MNID_TopRed);
- level_settings_menu->additem(MN_NUMFIELD, "Top Green ",0,0,MNID_TopGreen);
- level_settings_menu->additem(MN_NUMFIELD, "Top Blue ",0,0,MNID_TopBlue);
- level_settings_menu->additem(MN_NUMFIELD, "Bottom Red ",0,0,MNID_BottomRed);
- level_settings_menu->additem(MN_NUMFIELD, "Bottom Green",0,0,MNID_BottomGreen);
- level_settings_menu->additem(MN_NUMFIELD, "Bottom Blue",0,0,MNID_BottomBlue);
- level_settings_menu->additem(MN_HL,"",0,0);
- level_settings_menu->additem(MN_ACTION,"Apply Changes",0,0,MNID_APPLY);
-
- select_tilegroup_menu->arrange_left = true;
- select_tilegroup_menu->additem(MN_LABEL,"Tilegroup",0,0);
- select_tilegroup_menu->additem(MN_HL,"",0,0);
- select_tilegroup_menu->additem(MN_ACTION,"asd",0,0);
- std::set<TileGroup>* tilegroups = TileManager::tilegroups();
- int tileid = 1;
- for(std::set<TileGroup>::iterator it = tilegroups->begin();
- it != tilegroups->end(); ++it )
- {
- select_tilegroup_menu->additem(MN_ACTION, it->name, 0, 0, tileid);
- tileid++;
- tilegroups_map[(*it).name] = new ButtonPanel(screen->w - 64,96, 64, 318);
- i = 0;
-
- for(std::vector<int>::const_iterator sit = (*it).tiles.begin();
- sit != (*it).tiles.end(); ++sit, ++i)
- {
- std::string imagefile = "/images/tilesets/" ;
- bool only_editor_image = false;
- if(!TileManager::instance()->get(*sit)->filenames.empty())
- {
- imagefile += TileManager::instance()->get(*sit)->filenames[0];
- }
- else if(!TileManager::instance()->get(*sit)->editor_filenames.empty())
- {
- imagefile += TileManager::instance()->get(*sit)->editor_filenames[0];
- only_editor_image = true;
- }
- else
- {
- imagefile += "notile.png";
- }
- Button* button = new Button(imagefile, it->name, SDLKey(SDLK_a + i),
- 0, 0, 32, 32);
- if(!only_editor_image)
- if(!TileManager::instance()->get(*sit)->editor_filenames.empty())
- {
- imagefile = "/images/tilesets/" + TileManager::instance()->get(*sit)->editor_filenames[0];
- button->add_icon(imagefile,32,32);