[Super-tux-commit] supertux/src leveleditor.cpp,1.93,1.94
Brought to you by:
wkendrick
From: Tobias Gl??er <to...@us...> - 2004-05-08 00:28:57
|
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; } } |