X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fskull_tile.cpp;h=7721a5b648c82cd932e4b448d5d87ff670ebba00;hb=555d1b7bebb45326d82d934e07463209837309b0;hp=c4c36b14647428fe739391696162ffe06c99bb72;hpb=15c5a91ee89272dfda3666e2fed67e06d650d0bf;p=supertux.git diff --git a/src/object/skull_tile.cpp b/src/object/skull_tile.cpp index c4c36b146..7721a5b64 100644 --- a/src/object/skull_tile.cpp +++ b/src/object/skull_tile.cpp @@ -28,21 +28,17 @@ #include "sprite/sprite.hpp" #include "random_generator.hpp" -static const float CRACKTIME = 0.3; -static const float FALLTIME = 0.8; +static const float CRACKTIME = 0.3f; +static const float FALLTIME = 0.8f; SkullTile::SkullTile(const lisp::Lisp& lisp) - : MovingSprite(lisp, "images/objects/skull_tile/skull_tile.sprite", LAYER_TILES, COLGROUP_STATIC), hit(false), falling(false) + : MovingSprite(lisp, "images/objects/skull_tile/skull_tile.sprite", LAYER_TILES, COLGROUP_STATIC), hit(false), falling(false) { - flags |= FLAG_SOLID; } HitResponse -SkullTile::collision(GameObject& other, const CollisionHit& hitdata) +SkullTile::collision(GameObject& other, const CollisionHit& ) { - if(hitdata.normal.y < 0.8) - return FORCE_MOVE; - Player* player = dynamic_cast (&other); if(player) hit = true; @@ -54,10 +50,10 @@ void SkullTile::draw(DrawingContext& context) { Vector pos = get_pos(); - // shacking + // shaking if(timer.get_timegone() > CRACKTIME) { pos.x += systemRandom.rand(-3, 3); - } + } sprite->draw(context, pos, layer); } @@ -74,8 +70,7 @@ SkullTile::update(float elapsed_time) } else if(hit) { if(timer.check()) { falling = true; - physic.enable_gravity(true); - flags &= ~FLAG_SOLID; + physic.enable_gravity(true); timer.stop(); } else if(!timer.started()) { timer.start(FALLTIME);