Fixed scrolling.
authorRicardo Cruz <rick2@aeiou.pt>
Thu, 3 Jun 2004 16:30:35 +0000 (16:30 +0000)
committerRicardo Cruz <rick2@aeiou.pt>
Thu, 3 Jun 2004 16:30:35 +0000 (16:30 +0000)
The GUI is full of problems, I guess the best solution is to rewrite button.* stuff. The level editor also needs a redesign. I will take care of this, can take awhile.

SVN-Revision: 1402

src/leveleditor.cpp

index 7d7d6ae..cd7337e 100644 (file)
@@ -29,6 +29,7 @@
 #include <SDL.h>
 #include <SDL_image.h>
 #include <algorithm>
+#include <iostream>
 
 #include "leveleditor.h"
 
@@ -82,6 +83,8 @@ LevelEditor::LevelEditor()
   le_show_grid = true;
   show_selections = true;
 
+  pos_x = pos_y = 0;
+
   done = 0;
   le_frame = 0;        /* support for frames in some tiles, like waves and bad guys */
   le_level_changed = false;
@@ -234,12 +237,14 @@ int LevelEditor::run(char* filename)
       /* making events results to be in order */
 
       /* draw the level */
+      context.set_translation(Vector(pos_x, pos_y));
       drawlevel(context);
     }
     else
       fillrect(0, 0, screen->w, screen->h, 0, 0, 0);
 
     /* draw editor interface */
+    context.set_translation(Vector(0, 0));
     drawinterface(context);
 
     Menu* menu = Menu::current();
@@ -845,7 +850,7 @@ void LevelEditor::drawlevel(DrawingContext& context)
 
   if(le_current.IsTile())
   {
-le_level->get_sector("main")->solids->draw(context);
+//le_level->get_sector("main")->solids->draw(context);
 /*
     Tile::draw(cursor_x-pos_x, cursor_y-pos_y,le_current.tile,128);
     if(!TileManager::instance()->get(le_current.tile)->images.empty())
@@ -860,7 +865,6 @@ le_level->get_sector("main")->solids->draw(context);
 
   /*       clearscreen(current_level.bkgd_red, current_level.bkgd_green, current_level.bkgd_blue); */
 
-
 le_level->get_sector("main")->solids->draw(context);
 
 // FIXME: make tiles to be drawn semi-transparent when not selected
@@ -1529,8 +1533,6 @@ void LevelEditor::checkevents()
       pos_y = (le_level->get_sector("main")->solids->get_height() * 32) - screen->h;
     if(pos_y < 0)
       pos_y = 0;
-
-    le_level->get_sector("main")->camera->set_scrolling(pos_x, pos_y);
   }
 }