Update of /cvsroot/super-tux/supertux/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6409/src
Modified Files:
leveleditor.cpp
Log Message:
Fixed some leveleditor-object/badguy issues.
Index: leveleditor.cpp
===================================================================
RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- leveleditor.cpp 7 May 2004 23:45:24 -0000 1.93
+++ leveleditor.cpp 8 May 2004 00:28:46 -0000 1.94
@@ -246,7 +246,6 @@
break;
default:
- //show_menu = true;
break;
}
}
@@ -1311,6 +1310,11 @@
{
Menu::set_current(0);
}
+ le_objects_bt->event(event);
+ if(le_objects_bt->get_state() == BUTTON_CLICKED)
+ {
+ Menu::set_current(0);
+ }
}
}
@@ -1422,7 +1426,7 @@
{
int xx,yy;
int x1, x2, y1, y2;
- unsigned int i;
+ unsigned int i = 0;
/* level_changed = true; */
@@ -1438,11 +1442,13 @@
cursor_base.height = 32;
/* if there is a bad guy over there, remove it */
- for(std::list<BadGuy*>::iterator it = le_world->bad_guys.begin(); it != le_world->bad_guys.end(); ++it)
+ for(std::list<BadGuy*>::iterator it = le_world->bad_guys.begin(); it != le_world->bad_guys.end(); ++it, ++i)
if(rectcollision(cursor_base,(*it)->base))
{
- le_world->bad_guys.erase(le_world->bad_guys.begin(),it);
+ delete (*it);
+ le_world->bad_guys.erase(it);
le_world->get_level()->badguy_data.erase(le_world->get_level()->badguy_data.begin() + i);
+ break;
}
break;
@@ -1480,11 +1486,14 @@
if((*it)->base.x/32 >= x1 && (*it)->base.x/32 <= x2
&& (*it)->base.y/32 >= y1 && (*it)->base.y/32 <= y2)
{
+ delete (*it);
it = le_world->bad_guys.erase(it);
+ le_world->get_level()->badguy_data.erase(le_world->get_level()->badguy_data.begin() + i);
continue;
}
else
{
+ ++i;
++it;
}
}
|