We have our own mouse-cursor now! (graphics by Settra Gaia)
[supertux.git] / src / leveleditor.cpp
index 0cb0282..0484439 100644 (file)
@@ -90,7 +90,7 @@ static int le_show_grid;
 static int le_frame;
 static texture_type le_selection;
 static int done;
-static char le_current_tile;
+static unsigned int le_current_tile;
 static bool le_mouse_pressed[2];
 static button_type le_save_level_bt;
 static button_type le_test_level_bt;
@@ -118,24 +118,6 @@ static square selection;
 static int le_selection_mode;
 static SDL_Event event;
 
-void le_activate_bad_guys(void)
-{
-  int x,y;
-
-  /* Activate bad guys: */
-
-  /* as oposed to the gameloop.c func, this one doesn't remove
-  the badguys from tiles                                    */
-
-  for (y = 0; y < 15; ++y)
-    for (x = 0; x < le_current_level->width; ++x)
-      if (le_current_level->dn_tiles[y][x] >= '0' && le_current_level->dn_tiles[y][x] <= '9')
-        add_bad_guy(x * 32, y * 32, static_cast<BadGuyKind>(le_current_level->dn_tiles[y][x] - '0'));
-
-
-
-}
-
 void le_set_defaults()
 {
   if(le_current_level != NULL)
@@ -241,7 +223,6 @@ int leveleditor(int levelnb)
                      le_update_buttons(le_current_level->theme.c_str());
                       le_set_defaults();
                       level_load_gfx(le_current_level);
-                      le_activate_bad_guys();
                       show_menu = true;
                     }
                   break;
@@ -273,7 +254,6 @@ int leveleditor(int levelnb)
                      le_update_buttons(le_current_level->theme.c_str());
                       le_set_defaults();
                       level_load_gfx(le_current_level);
-                      le_activate_bad_guys();
                       menu_item_change_input(&subset_new_menu->item[2],"");
                       show_menu = true;
                       break;
@@ -295,6 +275,7 @@ int leveleditor(int levelnb)
                   break;
                 }
             }
+           mouse_cursor->draw();
         }
 
       if(done)
@@ -382,7 +363,7 @@ int le_init()
   le_level_changed = false;
   le_current_level = NULL;
 
-  le_current_tile = '.';
+  le_current_tile = 0;
   le_mouse_pressed[LEFT] = false;
   le_mouse_pressed[RIGHT] = false;
 
@@ -659,8 +640,6 @@ void le_goto_level(int levelnb)
 
   level_free_gfx();
   level_load_gfx(le_current_level);
-
-  le_activate_bad_guys();
 }
 
 void le_quit(void)
@@ -871,18 +850,19 @@ void le_checkevents()
 
   while(SDL_PollEvent(&event))
     {
+     if(show_menu)
+      menu_event(event);
+    
       /* testing SDL_KEYDOWN, SDL_KEYUP and SDL_QUIT events*/
       if(event.type == SDL_KEYDOWN || ((event.type == SDL_MOUSEBUTTONDOWN || SDL_MOUSEMOTION) && (event.motion.x > 0 && event.motion.x < screen->w - 64 &&
                                        event.motion.y > 0 && event.motion.y < screen->h)))
         {
-
           switch(event.type)
             {
             case SDL_KEYDOWN:  // key pressed
               key = event.key.keysym.sym;
               if(show_menu)
                 {
-                  menu_event(&event.key.keysym);
                   if(key == SDLK_ESCAPE)
                     {
                       show_menu = false;
@@ -1086,7 +1066,7 @@ void le_checkevents()
                     }
                   button_event(&le_rubber_bt,&event);
                   if(button_get_state(&le_rubber_bt) == BUTTON_CLICKED)
-                    le_current_tile = '.';
+                    le_current_tile = 0;
                   button_event(&le_select_mode_one_bt,&event);
                   if(button_get_state(&le_select_mode_one_bt) == BUTTON_CLICKED)
                     le_selection_mode = CURSOR;
@@ -1383,7 +1363,6 @@ void le_testlevel()
   arrays_init();
   level_load_gfx(le_current_level);
   loadshared();
-  le_activate_bad_guys();
 }
 
 void le_showhelp()