projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
-Worldmap cleanups (use DrawingContext transformstack)
[supertux.git]
/
src
/
object
/
block.h
diff --git
a/src/object/block.h
b/src/object/block.h
index
bd750a0
..
9f54049
100644
(file)
--- a/
src/object/block.h
+++ b/
src/object/block.h
@@
-1,7
+1,8
@@
-#ifndef __B
OX
_H__
-#define __B
OX
_H__
+#ifndef __B
LOCK
_H__
+#define __B
LOCK
_H__
#include "special/moving_object.h"
#include "special/moving_object.h"
+#include "lisp/lisp.h"
namespace SuperTux {
class Sprite;
namespace SuperTux {
class Sprite;
@@
-13,7
+14,7
@@
using namespace SuperTux;
class Block : public MovingObject
{
public:
class Block : public MovingObject
{
public:
- Block(
const Vector& pos, Sprite* sprite
);
+ Block(
Sprite* sprite = 0
);
~Block();
virtual HitResponse collision(GameObject& other, const CollisionHit& hit);
~Block();
virtual HitResponse collision(GameObject& other, const CollisionHit& hit);
@@
-21,7
+22,7
@@
public:
virtual void draw(DrawingContext& context);
protected:
virtual void draw(DrawingContext& context);
protected:
- virtual void hit(Player
*
player) = 0;
+ virtual void hit(Player
&
player) = 0;
void start_bounce();
Sprite* sprite;
void start_bounce();
Sprite* sprite;
@@
-35,12
+36,23
@@
class BonusBlock : public Block
{
public:
BonusBlock(const Vector& pos, int data);
{
public:
BonusBlock(const Vector& pos, int data);
+ BonusBlock(const lisp::Lisp& lisp);
+
+ void try_open();
protected:
protected:
- virtual void hit(Player
*
player);
+ virtual void hit(Player
&
player);
private:
private:
- int data;
+ enum Contents {
+ CONTENT_COIN,
+ CONTENT_FIREGROW,
+ CONTENT_ICEGROW,
+ CONTENT_STAR,
+ CONTENT_1UP
+ };
+
+ Contents contents;
};
class Brick : public Block
};
class Brick : public Block
@@
-48,8
+60,10
@@
class Brick : public Block
public:
Brick(const Vector& pos, int data);
public:
Brick(const Vector& pos, int data);
+ void try_break(bool playerhit = false);
+
protected:
protected:
- virtual void hit(Player
*
player);
+ virtual void hit(Player
&
player);
private:
bool breakable;
private:
bool breakable;