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
|