- fixed [sorta] the mushroom bumping problems
authorRyan Flegel <rflegel@gmail.com>
Fri, 14 May 2004 08:36:13 +0000 (08:36 +0000)
committerRyan Flegel <rflegel@gmail.com>
Fri, 14 May 2004 08:36:13 +0000 (08:36 +0000)
- is it okay to determine the direction from the player's position?

SVN-Revision: 1175

src/special.cpp

index ab9874a..fa9c4ff 100644 (file)
@@ -309,7 +309,7 @@ Upgrade::draw()
 }
 
 void
-Upgrade::bump(Player* )
+Upgrade::bump(Player* player)
 {
   // these can't be bumped
   if(kind != UPGRADE_GROWUP)
@@ -317,9 +317,14 @@ Upgrade::bump(Player* )
 
   play_sound(sounds[SND_BUMP_UPGRADE], SOUND_CENTER_SPEAKER);
   
+  // determine new direction
+  if (player->base.x + player->base.width/2 > base.x + base.width/2)
+    dir = LEFT;
+  else
+    dir = RIGHT;
+
   // do a little jump and change direction
   physic.set_velocity(-physic.get_velocity_x(), 3);
-  dir = dir == LEFT ? RIGHT : LEFT;
   physic.enable_gravity(true);
 }