projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix issue with action not being updated when typing grow()/fire()/etc in console...
[supertux.git]
/
src
/
object
/
block.hpp
diff --git
a/src/object/block.hpp
b/src/object/block.hpp
index
07b37cb
..
4f326eb
100644
(file)
--- a/
src/object/block.hpp
+++ b/
src/object/block.hpp
@@
-40,10
+40,13
@@
protected:
friend class FlipLevelTransformer;
virtual void hit(Player& player) = 0;
friend class FlipLevelTransformer;
virtual void hit(Player& player) = 0;
- void start_bounce();
+ void start_bounce(GameObject* hitter);
+ void start_break(GameObject* hitter);
+ 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;
@@
-56,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,
@@
-73,6
+73,10
@@
private:
};
Contents contents;
};
Contents contents;
+protected:
+ virtual void hit(Player& player);
+
+private:
MovingObject* object;
};
MovingObject* object;
};
@@
-81,7
+85,8
@@
class Brick : public Block
public:
Brick(const Vector& pos, int data);
public:
Brick(const Vector& pos, int data);
- void try_break(bool playerhit = false);
+ void try_break(Player* player = false);
+ HitResponse collision(GameObject& other, const CollisionHit& hit);
protected:
virtual void hit(Player& player);
protected:
virtual void hit(Player& player);
@@
-92,4
+97,3
@@
private:
};
#endif
};
#endif
-