Make tux and yeti dying state not reveal secret tilemaps
[supertux.git] / src / badguy / yeti.cpp
index e958d53..8d1b49b 100644 (file)
@@ -93,14 +93,12 @@ Yeti::draw(DrawingContext& context)
 void
 Yeti::draw_hit_points(DrawingContext& context)
 {
-  int i;
-
   if (hud_head)
   {
     context.push_transform();
     context.set_translation(Vector(0, 0));
 
-    for (i = 0; i < hit_points; ++i)
+    for (int i = 0; i < hit_points; ++i)
     {
       context.draw_surface(hud_head, Vector(BORDER_X + (i * hud_head->get_width()), BORDER_Y + 1), LAYER_FOREGROUND1);
     }
@@ -214,6 +212,9 @@ void Yeti::take_hit(Player& )
     physic.set_velocity_x(0);
     physic.set_velocity_y(0);
 
+    // Set the badguy layer to be above the foremost, so that
+    // this does not reveal secret tilemaps:
+    layer = Sector::current()->get_foremost_layer() + 1;
     state = SQUISHED;
     state_timer.start(YETI_SQUISH_TIME);
     set_colgroup_active(COLGROUP_MOVING_ONLY_STATIC);
@@ -244,12 +245,11 @@ Yeti::drop_stalactite()
   Sector* sector = Sector::current();
   for(Sector::GameObjects::iterator i = sector->gameobjects.begin();
       i != sector->gameobjects.end(); ++i) {
-    YetiStalactite* stalactite = dynamic_cast<YetiStalactite*> (*i);
+    YetiStalactite* stalactite = dynamic_cast<YetiStalactite*>(i->get());
     if(stalactite && stalactite->is_hanging()) {
-      float distancex;
       if (hit_points >= 3) {
         // drop stalactites within 3 of player, going out with each jump
-        distancex = fabsf(stalactite->get_bbox().get_middle().x - player->get_bbox().get_middle().x);
+        float distancex = fabsf(stalactite->get_bbox().get_middle().x - player->get_bbox().get_middle().x);
         if(distancex < stomp_count*32) {
           stalactite->start_shaking();
         }