Limitated the number of bullets to be shot at the same time.
[supertux.git] / src / leveleditor.cpp
index fd4893a..6933e39 100644 (file)
@@ -44,7 +44,6 @@
 
 /* definitions to aid development */
 
-
 /* definitions that affect gameplay */
 #define KEY_CURSOR_SPEED 32
 #define KEY_CURSOR_FASTSPEED 64
@@ -96,7 +95,7 @@ struct LevelEditorWorld
     bad_guys.push_back(BadGuy());
     BadGuy& new_bad_guy = bad_guys.back();
   
-    new_bad_guy.init(x,y,kind);
+    new_bad_guy.init(x,y,kind, false /* stay_on_platform */);
   }
 
   void activate_bad_guys()
@@ -213,12 +212,13 @@ int leveleditor(int levelnb)
       /* draw editor interface */
       le_drawinterface();
 
-      if(Menu::current())
+      Menu* menu = Menu::current();
+      if(menu)
         {
-          Menu::current()->draw();
-          Menu::current()->action();
+          menu->draw();
+          menu->action();
 
-          if(Menu::current() == leveleditor_menu)
+          if(menu == leveleditor_menu)
             {
               switch (leveleditor_menu->check())
                 {
@@ -233,7 +233,7 @@ int leveleditor(int levelnb)
                   break;
                 }
             }
-          else if(Menu::current() == level_settings_menu)
+          else if(menu == level_settings_menu)
             {
               switch (level_settings_menu->check())
                 {
@@ -247,7 +247,7 @@ int leveleditor(int levelnb)
                   break;
                 }
             }
-          else if(Menu::current() == select_tilegroup_menu)
+          else if(menu == select_tilegroup_menu)
             {
               int it = -1;
               switch (it = select_tilegroup_menu->check())
@@ -263,7 +263,7 @@ int leveleditor(int levelnb)
                   break;
                 }
             }
-          else if(Menu::current() == subset_load_menu)
+          else if(menu == subset_load_menu)
             {
               switch (i = subset_load_menu->check())
                 {
@@ -292,7 +292,7 @@ int leveleditor(int levelnb)
                   break;
                 }
             }
-          else if(Menu::current() == subset_new_menu)
+          else if(menu == subset_new_menu)
             {
               if(subset_new_menu->item[2].input[0] == '\0')
                 subset_new_menu->item[3].kind = MN_DEACTIVE;
@@ -324,7 +324,7 @@ int leveleditor(int levelnb)
                     }
                 }
             }
-          else if(Menu::current() == subset_settings_menu)
+          else if(menu == subset_settings_menu)
             {
               if(le_level_subset.title.compare(subset_settings_menu->item[2].input) == 0 && le_level_subset.description.compare(subset_settings_menu->item[3].input) == 0  )
                 subset_settings_menu->item[5].kind = MN_DEACTIVE;
@@ -344,11 +344,8 @@ int leveleditor(int levelnb)
 
       mouse_cursor->draw();
 
-printf("done: %i\n", done);
-
       if(done)
         {
-printf("done\n");
           le_quit();
           return 0;
         }
@@ -817,6 +814,8 @@ void le_checkevents()
                   key = event.key.keysym.sym;
                   switch(key)
                     {
+                    case SDLK_ESCAPE:
+                      Menu::set_current(leveleditor_menu);
                     case SDLK_LEFT:
                       if(fire == DOWN)
                         cursor_x -= KEY_CURSOR_SPEED;