[Super-tux-commit] supertux/src gameobjs.cpp,1.12,1.13 special.cpp,1.36,1.37 world.cpp,1.45,1.46 wor
Brought to you by:
wkendrick
From: Ingo R. <gr...@us...> - 2004-04-28 20:24:43
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3778 Modified Files: gameobjs.cpp special.cpp world.cpp world.h Log Message: MatzeB: that shoudl fix the cases where you die when picking up an iceflower Index: gameobjs.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/gameobjs.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- gameobjs.cpp 26 Apr 2004 11:14:11 -0000 1.12 +++ gameobjs.cpp 28 Apr 2004 20:24:34 -0000 1.13 @@ -40,7 +40,14 @@ base.ym += 0.1 * frame_ratio; if (base.ym >= 0) - World::current()->bouncy_distros.erase(static_cast<std::vector<BouncyDistro>::iterator>(this)); + { + std::vector<BouncyDistro*>::iterator i + = std::find(World::current()->bouncy_distros.begin(), + World::current()->bouncy_distros.end(), + this); + if (i != World::current()->bouncy_distros.end()) + World::current()->bouncy_distros.erase(i); + } } void @@ -71,7 +78,9 @@ base.y = base.y + base.ym * frame_ratio; if (!timer.check()) - World::current()->broken_bricks.erase(static_cast<std::vector<BrokenBrick>::iterator>(this)); + { + World::current()->broken_bricks.erase(static_cast<std::vector<BrokenBrick>::iterator>(this)); + } } void Index: world.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.h,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- world.h 28 Apr 2004 13:18:54 -0000 1.32 +++ world.h 28 Apr 2004 20:24:34 -0000 1.33 @@ -50,10 +50,10 @@ static World* current_; public: - std::vector<BouncyDistro> bouncy_distros; - std::vector<BrokenBrick> broken_bricks; - std::vector<BouncyBrick> bouncy_bricks; - std::vector<FloatingScore> floating_scores; + std::vector<BouncyDistro*> bouncy_distros; + std::vector<BrokenBrick*> broken_bricks; + std::vector<BouncyBrick*> bouncy_bricks; + std::vector<FloatingScore*> floating_scores; std::vector<Upgrade> upgrades; std::vector<Bullet> bullets; Index: world.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- world.cpp 28 Apr 2004 13:18:54 -0000 1.45 +++ world.cpp 28 Apr 2004 20:24:34 -0000 1.46 @@ -198,7 +198,7 @@ /* (Bouncy bricks): */ for (unsigned int i = 0; i < bouncy_bricks.size(); ++i) - bouncy_bricks[i].draw(); + bouncy_bricks[i]->draw(); for (BadGuys::iterator i = bad_guys.begin(); i != bad_guys.end(); ++i) (*i)->draw(); @@ -209,16 +209,16 @@ bullets[i].draw(); for (unsigned int i = 0; i < floating_scores.size(); ++i) - floating_scores[i].draw(); + floating_scores[i]->draw(); for (unsigned int i = 0; i < upgrades.size(); ++i) upgrades[i].draw(); for (unsigned int i = 0; i < bouncy_distros.size(); ++i) - bouncy_distros[i].draw(); + bouncy_distros[i]->draw(); for (unsigned int i = 0; i < broken_bricks.size(); ++i) - broken_bricks[i].draw(); + broken_bricks[i]->draw(); /* Draw foreground: */ for (y = 0; y < 15; ++y) @@ -244,11 +244,11 @@ /* Handle bouncy distros: */ for (unsigned int i = 0; i < bouncy_distros.size(); i++) - bouncy_distros[i].action(frame_ratio); + bouncy_distros[i]->action(frame_ratio); /* Handle broken bricks: */ for (unsigned int i = 0; i < broken_bricks.size(); i++) - broken_bricks[i].action(frame_ratio); + broken_bricks[i]->action(frame_ratio); /* Handle distro counting: */ if (counting_distros) @@ -261,10 +261,10 @@ // Handle all kinds of game objects for (unsigned int i = 0; i < bouncy_bricks.size(); i++) - bouncy_bricks[i].action(frame_ratio); + bouncy_bricks[i]->action(frame_ratio); for (unsigned int i = 0; i < floating_scores.size(); i++) - floating_scores[i].action(frame_ratio); + floating_scores[i]->action(frame_ratio); for (unsigned int i = 0; i < bullets.size(); ++i) bullets[i].action(frame_ratio); @@ -387,16 +387,16 @@ { player_status.score += s; - FloatingScore new_floating_score; - new_floating_score.init(x,y,s); + FloatingScore* new_floating_score = new FloatingScore(); + new_floating_score->init(x,y,s); floating_scores.push_back(new_floating_score); } void World::add_bouncy_distro(float x, float y) { - BouncyDistro new_bouncy_distro; - new_bouncy_distro.init(x,y); + BouncyDistro* new_bouncy_distro = new BouncyDistro(); + new_bouncy_distro->init(x,y); bouncy_distros.push_back(new_bouncy_distro); } @@ -413,16 +413,16 @@ void World::add_broken_brick_piece(Tile* tile, float x, float y, float xm, float ym) { - BrokenBrick new_broken_brick; - new_broken_brick.init(tile, x, y, xm, ym); + BrokenBrick* new_broken_brick = new BrokenBrick(); + new_broken_brick->init(tile, x, y, xm, ym); broken_bricks.push_back(new_broken_brick); } void World::add_bouncy_brick(float x, float y) { - BouncyBrick new_bouncy_brick; - new_bouncy_brick.init(x,y); + BouncyBrick* new_bouncy_brick = new BouncyBrick(); + new_bouncy_brick->init(x,y); bouncy_bricks.push_back(new_bouncy_brick); } Index: special.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/special.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- special.cpp 28 Apr 2004 11:43:47 -0000 1.36 +++ special.cpp 28 Apr 2004 20:24:34 -0000 1.37 @@ -350,12 +350,6 @@ pplayer->base.height = 64; pplayer->base.y -= 32; } - if(collision_object_map(pplayer->base)) - { - pplayer->base.height = 32; - pplayer->base.y += 32; - pplayer->duck = true; - } } else if (kind == UPGRADE_HERRING) { |