- new extras
[supertux.git] / src / special.h
1 //
2 // C Interface: special
3 //
4 // Description: 
5 //
6 //
7 // Author: Tobias Glaesser <tobi.web@gmx.de>, (C) 2004
8 //
9 // Copyright: See COPYING file that comes with this distribution
10 //
11 //
12
13 #define BULLET_STARTING_YM 1
14 #define BULLET_XM 5
15
16 #ifndef SUPERTUX_SPECIAL_H
17 #define SUPERTUX_SPECIAL_H
18
19 #include <SDL.h>
20 #include "bitmask.h"
21 #include "type.h"
22 #include "texture.h"
23 #include "collision.h"
24 #include "player.h"
25
26 /* Upgrade types: */
27
28 enum {
29   UPGRADE_MINTS,
30   UPGRADE_COFFEE,
31   UPGRADE_HERRING
32 };
33
34 class Upgrade
35 {
36  public:
37   int kind;
38   base_type base;
39   base_type old_base;
40
41   void init(float x, float y, int dir, int kind);
42   void action(double frame_ratio);
43   void draw();
44   void collision(void* p_c_object, int c_object);
45 };
46
47 class Bullet
48 {
49  public:
50   base_type base;
51   base_type old_base;
52   
53   void init(float x, float y, float xm, int dir);
54   void action(double frame_ratio);
55   void draw();
56   void collision(int c_object);
57 };
58
59 extern texture_type img_bullet;
60 extern bitmask* bm_bullet;
61
62 void create_special_bitmasks();
63
64 extern texture_type img_golden_herring;
65
66 #endif /*SUPERTUX_SPECIAL_H*/