X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy.h;h=c4893201b7eec433e507f967a4688634e6d8102e;hb=ac34902414690bc746489a5caee215516d715ea1;hp=b9c2d129f147ea63a26b7e031db1fb9addc32c04;hpb=2b69e1dda8897c83569bf0a3a431457ed273aa9d;p=supertux.git diff --git a/src/badguy.h b/src/badguy.h index b9c2d129f..c4893201b 100644 --- a/src/badguy.h +++ b/src/badguy.h @@ -25,14 +25,21 @@ #include "SDL.h" -#include "timer.h" -#include "screen/texture.h" -#include "physic.h" -#include "sprite.h" +#include "special/timer.h" +#include "video/surface.h" +#include "math/physic.h" +#include "special/sprite.h" #include "defines.h" -#include "moving_object.h" +#include "special/moving_object.h" #include "collision.h" #include "serializable.h" +#include "scene.h" + +using namespace SuperTux; + +/* Timing constants (in ms): */ + +#define KICKING_TIME 200 /* Bad guy kinds: */ enum BadGuyKind { @@ -43,6 +50,7 @@ enum BadGuyKind { BAD_STALACTITE, BAD_FLAME, BAD_FISH, + BAD_FLAMEFISH, BAD_BOUNCINGSNOWBALL, BAD_FLYINGSNOWBALL, BAD_SPIKY, @@ -99,6 +107,7 @@ public: bool stay_on_platform; Direction dir; + Vector start_position; Timer frozen_timer; // gets frozen when a ice shot hits it @@ -108,7 +117,6 @@ private: int squishcount; /// number of times this enemy was squiched Vector target; // Target that badguy is aiming for (wingling uses this) Timer timer; - Vector start_position; Physic physic; float angle; @@ -136,6 +144,12 @@ public: */ void kill_me(int score); + /** initializes the badguy (when he appears on screen) */ + void activate(Direction direction); // should only be used by BadGuy's objects + + Surface* get_image() + { return sprite_left->get_frame(0); } + private: void init(); @@ -153,9 +167,6 @@ private: void action_wingling(double frame_ratio); void action_walkingtree(double frame_ratio); - /** initializes the badguy (when he appears on screen) */ - void activate(Direction direction); - /** handles falling down. disables gravity calculation when we're back on * ground */ void fall();