X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fblock.h;h=9f54049828dfe383d81c10bd5ae5b02d61a8249a;hb=495f8b77cb935fe8eff81bec755efca8e34e8a99;hp=ae11d2281b10cbedb6ac425c484640152437db4f;hpb=3510a03c0e807c7a0ddde3cdf07ba91bda9393c4;p=supertux.git diff --git a/src/object/block.h b/src/object/block.h index ae11d2281..9f5404982 100644 --- a/src/object/block.h +++ b/src/object/block.h @@ -1,7 +1,8 @@ -#ifndef __BOX_H__ -#define __BOX_H__ +#ifndef __BLOCK_H__ +#define __BLOCK_H__ #include "special/moving_object.h" +#include "lisp/lisp.h" namespace SuperTux { class Sprite; @@ -13,7 +14,7 @@ using namespace SuperTux; class Block : public MovingObject { public: - Block(const Vector& pos, Sprite* sprite); + Block(Sprite* sprite = 0); ~Block(); virtual HitResponse collision(GameObject& other, const CollisionHit& hit); @@ -35,6 +36,7 @@ class BonusBlock : public Block { public: BonusBlock(const Vector& pos, int data); + BonusBlock(const lisp::Lisp& lisp); void try_open(); @@ -42,7 +44,15 @@ protected: virtual void hit(Player& player); private: - int data; + enum Contents { + CONTENT_COIN, + CONTENT_FIREGROW, + CONTENT_ICEGROW, + CONTENT_STAR, + CONTENT_1UP + }; + + Contents contents; }; class Brick : public Block