+ // TODO: slots should be available for contrib maps
+ worldmap.loadgame(st_save_dir + "/" + subset.name + "-slot1.stsg");
+
+ worldmap.display(); // run the map
+
+ Menu::set_current(main_menu);
+ resume_demo();
+ } else if (current_subset != index) {
+ current_subset = index;
+ // FIXME: This shouln't be busy looping
+ LevelSubset& subset = * (contrib_subsets[index]);
+
+ current_contrib_subset = ⊂
+
+ contrib_subset_menu->clear();
+
+ contrib_subset_menu->additem(MN_LABEL, subset.title, 0,0);
+ contrib_subset_menu->additem(MN_HL,"",0,0);
+
+ for (int i = 0; i < subset.get_num_levels(); ++i)
+ {
+ /** get level's title */
+ std::string filename = subset.get_level_filename(i);
+ std::string title = get_level_name(filename);
+ contrib_subset_menu->additem(MN_ACTION, title, 0, 0, i);