added optional button to restart game (door, panel and touch variants)
[rocksndiamonds.git] / src / anim.c
index cdc0fd0574363fc39f82a6dd9c19fd5f1060a77d..1389dc4e8815451aaa2a49d6d78190f841871e22 100644 (file)
@@ -598,10 +598,15 @@ static void InitGlobalAnimControls(void)
          anim->has_base = TRUE;
        }
 
-       // force pointer-style animations to pass-through clicks
-       if (part->control_info.class == get_hash_from_key("pointer") &&
-           part->control_info.style == STYLE_DEFAULT)
+       // apply special settings to pointer-style animations
+       if (part->control_info.class == get_hash_from_key("pointer"))
+       {
+         // force pointer-style animations to be checked for clicks first
+         part->control_info.draw_order = 1000000;
+
+         // force pointer-style animations to pass-through clicks
          part->control_info.style |= STYLE_PASSTHROUGH;
+       }
       }
 
       if (anim->num_parts > 0 || anim->has_base)
@@ -780,7 +785,7 @@ static void DrawGlobalAnimationsExt(int drawing_target, int drawing_stage)
   int mode_nr;
   int i;
 
-  if (!setup.toons)
+  if (!setup.global_animations)
     return;
 
   if (drawing_stage == DRAW_GLOBAL_ANIM_STAGE_1 &&
@@ -890,6 +895,11 @@ static void DrawGlobalAnimationsExt(int drawing_target, int drawing_stage)
     int frame;
     int last_anim_random_frame = gfx.anim_random_frame;
 
+    if (!setup.toons &&
+       part->graphic >= IMG_TOON_1 &&
+       part->graphic <= IMG_TOON_20)
+      continue;
+
     // when preparing source fading buffer, only draw animations to be stopped
     if (drawing_target == DRAW_TO_FADE_SOURCE &&
        game_mode_anim_action[part->mode_nr] != ANIM_STOP)