projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- updated TODO
[supertux.git]
/
src
/
special.h
diff --git
a/src/special.h
b/src/special.h
index
a28c742
..
550e2a4
100644
(file)
--- a/
src/special.h
+++ b/
src/special.h
@@
-23,7
+23,7
@@
#include <SDL.h>
#include "bitmask.h"
#include "type.h"
#include <SDL.h>
#include "bitmask.h"
#include "type.h"
-#include "texture.h"
+#include "
screen/
texture.h"
#include "collision.h"
#include "player.h"
#include "physic.h"
#include "collision.h"
#include "player.h"
#include "physic.h"
@@
-41,28
+41,23
@@
enum UpgradeKind {
void load_special_gfx();
void free_special_gfx();
void load_special_gfx();
void free_special_gfx();
-class Upgrade : public
Game
Object
+class Upgrade : public
Moving
Object
{
public:
UpgradeKind kind;
Direction dir;
Physic physic;
{
public:
UpgradeKind kind;
Direction dir;
Physic physic;
- void init(float x, float y, Direction dir, UpgradeKind kind);
- void action(double frame_ratio);
- void draw();
- void collision(void* p_c_object, int c_object, CollisionType type);
- std::string type() { return "Upgrade"; };
+ Upgrade(const Vector& pos, Direction dir, UpgradeKind kind);
+ virtual ~Upgrade();
- ~Upgrade() {};
+ virtual void action(float frame_ratio);
+ virtual void draw(DrawingContext& context);
-private:
- /** removes the Upgrade from the global upgrade list. Note that after this
- * call the class doesn't exist anymore! So don't use any member variables
- * anymore then
- */
- void remove_me();
+ virtual void collision(const MovingObject& other, int);
+ void collision(void* p_c_object, int c_object, CollisionType type);
+private:
void bump(Player* player);
};
void bump(Player* player);
};
@@
-71,27
+66,23
@@
enum BulletsKind {
ICE_BULLET
};
ICE_BULLET
};
-class Bullet : public
Game
Object
+class Bullet : public
Moving
Object
{
{
- public:
- int life_count;
- base_type base;
- base_type old_base;
-
- int kind;
+public:
+ Bullet(const Vector& pos, float xm, int dir,
+ int kind);
- void init(float x, float y, float xm, Direction dir, int kind_);
- void action(double frame_ratio);
- void draw();
+ virtual void action(float frame_ratio);
+ virtual void draw(DrawingContext& context);
void collision(int c_object);
void collision(int c_object);
- std::string type() { return "Bullet"; };
+ virtual void collision(const MovingObject& other_object, int type);
+
+ int kind;
+
private:
private:
- /** removes the Upgrade from the global upgrade list. Note that after this
- * call the class doesn't exist anymore! So don't use any member variables
- * anymore then
- */
- void remove_me();
+ int life_count;
+ Physic physic;
};
#endif /*SUPERTUX_SPECIAL_H*/
};
#endif /*SUPERTUX_SPECIAL_H*/