projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SDL: Implement lightmaps smaller than the screen size. LIGHTMAP_DIV is calculated...
[supertux.git]
/
src
/
object
/
block.hpp
diff --git
a/src/object/block.hpp
b/src/object/block.hpp
index
ac7bdd2
..
94f87fb
100644
(file)
--- a/
src/object/block.hpp
+++ b/
src/object/block.hpp
@@
-37,14
+37,20
@@
public:
virtual void draw(DrawingContext& context);
protected:
virtual void draw(DrawingContext& context);
protected:
+ friend class FlipLevelTransformer;
+
virtual void hit(Player& player) = 0;
void start_bounce();
virtual void hit(Player& player) = 0;
void start_bounce();
+ void start_break();
+ void break_me();
Sprite* sprite;
bool bouncing;
Sprite* sprite;
bool bouncing;
+ bool breaking;
float bounce_dir;
float bounce_offset;
float original_y;
float bounce_dir;
float bounce_offset;
float original_y;
+
};
class BonusBlock : public Block
};
class BonusBlock : public Block
@@
-53,13
+59,10
@@
public:
BonusBlock(const Vector& pos, int data);
BonusBlock(const lisp::Lisp& lisp);
virtual ~BonusBlock();
BonusBlock(const Vector& pos, int data);
BonusBlock(const lisp::Lisp& lisp);
virtual ~BonusBlock();
+ HitResponse collision(GameObject& other, const CollisionHit& hit);
void try_open();
void try_open();
-protected:
- virtual void hit(Player& player);
-
-private:
enum Contents {
CONTENT_COIN,
CONTENT_FIREGROW,
enum Contents {
CONTENT_COIN,
CONTENT_FIREGROW,
@@
-70,6
+73,10
@@
private:
};
Contents contents;
};
Contents contents;
+protected:
+ virtual void hit(Player& player);
+
+private:
MovingObject* object;
};
MovingObject* object;
};
@@
-79,6
+86,7
@@
public:
Brick(const Vector& pos, int data);
void try_break(bool playerhit = false);
Brick(const Vector& pos, int data);
void try_break(bool playerhit = false);
+ HitResponse collision(GameObject& other, const CollisionHit& hit);
protected:
virtual void hit(Player& player);
protected:
virtual void hit(Player& player);
@@
-89,4
+97,3
@@
private:
};
#endif
};
#endif
-