Changed jump behaviour: Tux will now jump even if the button was pressed (up to)...
[supertux.git] / src / object / bullet.cpp
index e9a7c1a..30e6dfa 100644 (file)
@@ -37,13 +37,17 @@ Bullet::Bullet(const Vector& pos, float xm, int dir, BonusType type)
   : life_count(3), type(type)
 {
   float speed = dir == RIGHT ? BULLET_XM : -BULLET_XM;
-  physic.vx = speed + xm;
+  physic.set_velocity_x(speed + xm);
 
   if(type == FIRE_BONUS) {
     sprite.reset(sprite_manager->create("images/objects/bullets/firebullet.sprite"));
   } else if(type == ICE_BONUS) {
     life_count = 10;
     sprite.reset(sprite_manager->create("images/objects/bullets/icebullet.sprite"));
+  } else {
+    log_warning << "Bullet::Bullet called with unknown BonusType" << std::endl;
+    life_count = 10;
+    sprite.reset(sprite_manager->create("images/objects/bullets/firebullet.sprite"));
   }
 
   bbox.set_pos(pos);
@@ -84,18 +88,18 @@ void
 Bullet::collision_solid(const CollisionHit& hit)
 {
   if(hit.top || hit.bottom) {
-    physic.vy = -physic.vy;
+    physic.set_velocity_y(-physic.get_velocity_y());
     life_count--;
   } else if(hit.left || hit.right) {
     if(type == ICE_BONUS) {
-      physic.vx = -physic.vx;
+      physic.set_velocity_x(-physic.get_velocity_x());
       life_count--;
     } else
       remove_me();
   }
 }
 
-void 
+void
 Bullet::ricochet(GameObject& , const CollisionHit& hit)
 {
   collision_solid(hit);