X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Ffirefly.cpp;h=ed10daeaee448b707782a45e8d985a703153a424;hb=b9f4b667813697c7c8cfba795eb39c83084c91bf;hp=49299fb94b46989cb50484a6ebef31ce9d8c108d;hpb=0dbecd50c80f9224718a1e5ddad4f2f1aae07892;p=supertux.git diff --git a/src/object/firefly.cpp b/src/object/firefly.cpp index 49299fb94..ed10daeae 100644 --- a/src/object/firefly.cpp +++ b/src/object/firefly.cpp @@ -33,17 +33,32 @@ Firefly::Firefly(const lisp::Lisp& lisp) : MovingSprite(lisp, "images/objects/resetpoints/default-resetpoint.sprite", LAYER_TILES, COLGROUP_TOUCHABLE), activated(false) { - if( !lisp.get( "sprite", sprite_name ) ){ + reactivate(); return; } if( sprite_name == "" ){ sprite_name = "images/objects/resetpoints/default-resetpoint.sprite"; + reactivate(); return; } //Replace sprite sprite = sprite_manager->create( sprite_name ); bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height()); + reactivate(); +} + +void +Firefly::reactivate() +{ + if(GameSession::current()->get_reset_point_pos() == get_pos()){ + // TODO: && GameSession::current()->get_reset_point_sectorname() == + // GameSession::current()->get_current_sector()->get_name() is not yet initialized. + // Worst case a resetpoint in a different sector at the same position as the real + // resetpoint the player is spawning is set to ringing, too. Until we can check the sector, too, dont set + // activated = true; here. + sprite->set_action("ringing"); + } } void