changed worldmap format a bit to be more consistent with level format
[supertux.git] / src / badguy / yeti.h
index 36d9012..1f14a6b 100644 (file)
@@ -1,3 +1,22 @@
+//  $Id$
+// 
+//  SuperTux
+//  Copyright (C) 2005 Matthias Braun <matze@braunis.de>
+//
+//  This program is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU General Public License
+//  as published by the Free Software Foundation; either version 2
+//  of the License, or (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+// 
+//  You should have received a copy of the GNU General Public License
+//  along with this program; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+//  02111-1307, USA.
 #ifndef __YETI_H__
 #define __YETI_H__
 
@@ -9,10 +28,10 @@ public:
   Yeti(const lisp::Lisp& lisp);
   ~Yeti();
 
+  void draw(DrawingContext& context);
   void write(lisp::Writer& writer);
-  void active_action(float elapsed_time);
-  HitResponse collision_solid(GameObject& other, const CollisionHit& hit);
-  HitResponse collision_player(Player& player, const CollisionHit& hit);
+  void active_update(float elapsed_time);
+  HitResponse collision_solid(GameObject& object, const CollisionHit& hit);
   bool collision_squished(Player& player);
   void kill_fall();
 
@@ -21,6 +40,7 @@ private:
   void go_left();
   void angry_jumping();
   void drop_stalactite();
+  void summon_snowball();
   
   enum YetiState {
     INIT,
@@ -29,16 +49,13 @@ private:
     GO_RIGHT,
     GO_LEFT
   };
-  enum Side {
-    LEFT,
-    RIGHT
-  };
-  Side side;
+  Direction side;
   YetiState state;
-  Timer2 timer;
+  Timer timer;
+  Timer safe_timer;
   int jumpcount;
-  Mix_Chunk* sound_gna;
-  Mix_Chunk* sound_roar;
+  int hit_points;
+  std::string dead_script;
 };
 
 #endif