X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Fblock.cpp;h=1e115d9046781bae2dbc377727038b9ac5d0da41;hb=6492679a300bff2c17505c5d9bc9d333eeba384d;hp=1f05d79184f1cff39c57e03cd86d04dd37902d14;hpb=a8057c3d1726484928a3091fdd5c7a3d810f5f63;p=supertux.git diff --git a/src/object/block.cpp b/src/object/block.cpp index 1f05d7918..1e115d904 100644 --- a/src/object/block.cpp +++ b/src/object/block.cpp @@ -18,16 +18,17 @@ #include "audio/sound_manager.hpp" #include "badguy/badguy.hpp" +#include "object/broken_brick.hpp" #include "object/coin.hpp" #include "object/flower.hpp" #include "object/growup.hpp" #include "object/player.hpp" #include "object/portable.hpp" #include "supertux/constants.hpp" +#include "supertux/sector.hpp" static const float BOUNCY_BRICK_MAX_OFFSET = 8; static const float BOUNCY_BRICK_SPEED = 90; -static const float EPSILON = .0001f; static const float BUMP_ROTATION_ANGLE = 10; Block::Block(SpritePtr newsprite) : @@ -40,8 +41,8 @@ Block::Block(SpritePtr newsprite) : { bbox.set_size(32, 32.1f); set_group(COLGROUP_STATIC); - sound_manager->preload("sounds/upgrade.wav"); - sound_manager->preload("sounds/brick.wav"); + SoundManager::current()->preload("sounds/upgrade.wav"); + SoundManager::current()->preload("sounds/brick.wav"); } Block::~Block() @@ -145,4 +146,22 @@ Block::start_break(GameObject* hitter) breaking = true; } +void +Block::break_me() +{ + Sector* sector = Sector::current(); + sector->add_object( + std::make_shared(sprite->clone(), get_pos(), Vector(-100, -400))); + sector->add_object( + std::make_shared(sprite->clone(), get_pos() + Vector(0, 16), + Vector(-150, -300))); + sector->add_object( + std::make_shared(sprite->clone(), get_pos() + Vector(16, 0), + Vector(100, -400))); + sector->add_object( + std::make_shared(sprite->clone(), get_pos() + Vector(16, 16), + Vector(150, -300))); + remove_me(); +} + /* EOF */