[Super-tux-commit] supertux/src gameobjs.cpp,1.13,1.14
Brought to you by:
wkendrick
From: Ingo R. <gr...@us...> - 2004-04-28 20:28:47
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5112 Modified Files: gameobjs.cpp Log Message: - replaced evil cast with std::find Index: gameobjs.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/gameobjs.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- gameobjs.cpp 28 Apr 2004 20:24:34 -0000 1.13 +++ gameobjs.cpp 28 Apr 2004 20:28:38 -0000 1.14 @@ -79,7 +79,12 @@ if (!timer.check()) { - World::current()->broken_bricks.erase(static_cast<std::vector<BrokenBrick>::iterator>(this)); + std::vector<BrokenBrick*>::iterator i + = std::find(World::current()->broken_bricks.begin(), + World::current()->broken_bricks.end(), + this); + if (i != World::current()->broken_bricks.end()) + World::current()->broken_bricks.erase(i); } } @@ -123,7 +128,14 @@ /* Stop bouncing? */ if (offset >= 0) - World::current()->bouncy_bricks.erase(static_cast<std::vector<BouncyBrick>::iterator>(this)); + { + std::vector<BouncyBrick*>::iterator i + = std::find(World::current()->bouncy_bricks.begin(), + World::current()->bouncy_bricks.end(), + this); + if (i != World::current()->bouncy_bricks.end()) + World::current()->bouncy_bricks.erase(i); + } } void @@ -179,7 +191,14 @@ base.y = base.y - 2 * frame_ratio; if(!timer.check()) - World::current()->floating_scores.erase(static_cast<std::vector<FloatingScore>::iterator>(this)); + { + std::vector<FloatingScore*>::iterator i + = std::find(World::current()->floating_scores.begin(), + World::current()->floating_scores.end(), + this); + if (i != World::current()->floating_scores.end()) + World::current()->floating_scores.erase(i); + } } void |