- committed patch from Richard Smith
[supertux.git] / src / leveleditor.cpp
index d8e4f9c..260c9d3 100644 (file)
@@ -65,10 +65,7 @@ subset_menu->additem(MN_LABEL,_("Load Subset"),0,0);
 subset_menu->additem(MN_HL,"",0,0);
 int i = 0;
 for(std::set<std::string>::iterator it = level_subsets.begin(); it != level_subsets.end(); ++it, ++i)
-{
-std::cerr << "adding entry level subset " << i << " entry: " << (*it) << std::endl;
   subset_menu->additem(MN_ACTION, (*it),0,0,i);
-}
 subset_menu->additem(MN_HL,"",0,0);
 subset_menu->additem(MN_BACK,_("Back"),0,0);
 
@@ -129,6 +126,10 @@ for(unsigned int id = 1; id < tilemanager->total_ids(); id++)
   }
 for(int i = 0; i < NUM_BadGuyKinds; i++)
   {
+  // filter bomb, since it is only for internal use, not for levels
+  if(i == BAD_BOMB)
+    continue;
+
   BadGuyKind kind = BadGuyKind(i);
   BadGuy badguy(kind, 0,0);
   badguy.activate(LEFT);
@@ -295,7 +296,6 @@ while(SDL_PollEvent(&event))
         std::set<std::string>::iterator it = level_subsets.begin();
         for(int t = 0; t < i; t++)
           it++;
-std::cerr << "load subset level_subsets " << i << ": " << (*it) << std::endl;
         load_level_subset(*it);
         Menu::set_current(0);
         }
@@ -681,12 +681,12 @@ if(sector)
       (*i)->draw(context);
 
       context.pop_transform();
+      continue;
       }
     Background* background = dynamic_cast<Background*> (*i);
     if(background)
       {  // don't resize background
       context.push_transform();
-      context.set_translation(scroll);
       context.set_zooming(1.0);
       (*i)->draw(context);
       context.pop_transform();
@@ -705,8 +705,6 @@ context.do_drawing();
 
 void LevelEditor::load_level_subset(std::string filename)
 {
-std::cerr << "loading subset...\n";
-std::cerr << "filename: " << filename << std::endl;
 delete level_subset;
 level_subset = new LevelSubset();
 level_subset->load(filename.c_str());
@@ -749,8 +747,6 @@ if(level_changed)
   }
 
 level_nb = nb;
-std::cerr << "level_nb: " << level_nb << std::endl;
-std::cerr << "level_subset->get_level_filename(level_nb): " << level_subset->get_level_filename(level_nb) << std::endl;
 level_filename = level_subset->get_level_filename(level_nb);
 
 load_level(level_filename);
@@ -827,7 +823,6 @@ settings_menu->get_item_by_id(MN_ID_HEIGHT).change_input(str);
 
 void LevelEditor::save_level()
 {
-std::cerr << "saving level...\n";
 level->save(level_filename);
 level_changed = false;
 }
@@ -845,7 +840,8 @@ if(level_changed)
 GameSession session(level_filename, ST_GL_TEST);
 session.run();
 //  player_status.reset();
-sound_manager->halt_music();
+if(sound_manager)
+  sound_manager->halt_music();
 }
 
 void LevelEditor::change(int x, int y, int newtile, int layer)
@@ -874,7 +870,7 @@ if(newtile < 0)  // add object
   else if(newtile == OBJ_DOOR)
     sector->add_object(new Door(x, y));
   else
-    sector->add_object(new BadGuy(BadGuyKind((-newtile)-1), x, y));
+    sector->add_bad_guy(x, y, BadGuyKind((-newtile)-1), true);
 
   sector->update_game_objects();
   }