X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fbullet.cpp;h=30e6dfaa0e0cc005ed0e85af97129a9d36c3a3b9;hb=555d1b7bebb45326d82d934e07463209837309b0;hp=e9a7c1a0d936e3f294c5d7dc1c6b4614e3d55a06;hpb=714a30abd887def6331a193216387e66cbfbd1bb;p=supertux.git diff --git a/src/object/bullet.cpp b/src/object/bullet.cpp index e9a7c1a0d..30e6dfaa0 100644 --- a/src/object/bullet.cpp +++ b/src/object/bullet.cpp @@ -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);