Set 'licence' attribute on sound files
[supertux.git] / src / badguy / yeti.hpp
index f0c8fe3..3d55f4e 100644 (file)
@@ -23,6 +23,8 @@
 
 #include "badguy.hpp"
 
+#include <memory>
+
 class Yeti : public BadGuy
 {
 public:
@@ -31,12 +33,15 @@ public:
 
   void draw(DrawingContext& context);
   void write(lisp::Writer& writer);
-  void activate();
+  void initialize();
   void active_update(float elapsed_time);
-  HitResponse collision_solid(GameObject& object, const CollisionHit& hit);
-  bool collision_squished(Player& player);
+  void collision_solid(const CollisionHit& hit);
+  bool collision_squished(GameObject& object);
+  void kill_squished(GameObject& object);
   void kill_fall();
 
+  virtual Yeti* clone() const { return new Yeti((Yeti&)*this); }
+
 private:
   void run();
   void jump_up();
@@ -44,21 +49,24 @@ private:
   void drop_stalactite();
   void summon_snowball();
   void jump_down();
-  void die(Player& player);
-  
+
+  void draw_hit_points(DrawingContext& context);
+
+  void take_hit(Player& player);
+
   enum YetiState {
     JUMP_DOWN,
     RUN,
     JUMP_UP,
-    BE_ANGRY
+    BE_ANGRY,
+    SQUISHED
   };
   YetiState state;
-  Timer stomp_timer;
+  Timer state_timer;
   Timer safe_timer;
   int stomp_count;
   int hit_points;
-  std::string dead_script;
+  std::auto_ptr<Surface> hud_head;
 };
 
 #endif
-