renamed variable (old name did not describe its use anymore)
[rocksndiamonds.git] / src / anim.c
index e603a9d38a0e3760e616a83f623db24c2aac39d1..9ab9f6dcf4356b4d9ec45300daed590a5103fa37 100644 (file)
@@ -880,6 +880,11 @@ static boolean SetGlobalAnimPart_Viewport(struct GlobalAnimPartControlInfo *part
     int mx = MIN(MAX(0, gfx.mouse_x), WIN_XSIZE - 1);
     int my = MIN(MAX(0, gfx.mouse_y), WIN_YSIZE - 1);
 
+    // prevent displaying off-screen custom mouse cursor in upper left corner
+    if (gfx.mouse_x == POS_OFFSCREEN &&
+       gfx.mouse_y == POS_OFFSCREEN)
+      mx = my = POS_OFFSCREEN;
+
     viewport_x = mx - part->control_info.x;
     viewport_y = my - part->control_info.y;
     viewport_width  = part->graphic_info.width;
@@ -1129,7 +1134,7 @@ static boolean clickConsumed(struct GlobalAnimPartControlInfo *part)
 }
 
 static void InitGlobalAnim_Triggered(struct GlobalAnimPartControlInfo *part,
-                                    boolean *anything_clicked,
+                                    boolean *click_consumed,
                                     boolean *any_event_action,
                                     int event_value, char *info_text)
 {
@@ -1153,13 +1158,13 @@ static void InitGlobalAnim_Triggered(struct GlobalAnimPartControlInfo *part,
     {
       struct GlobalAnimPartControlInfo *part2 = &anim2->part[part2_nr];
 
-      if (part2->state != ANIM_STATE_RUNNING)
+      if (!(part2->state & ANIM_STATE_RUNNING))
        continue;
 
       if (isClickablePart(part2, mask))
       {
        part2->triggered = TRUE;
-       *anything_clicked = clickConsumed(part);        // click was on "part"!
+       *click_consumed = clickConsumed(part);          // click was on "part"!
 
 #if DEBUG_ANIM_EVENTS
        printf("::: => %d.%d TRIGGERED BY %s OF %d.%d\n",
@@ -1209,11 +1214,11 @@ static void HandleGlobalAnimEvent(struct GlobalAnimPartControlInfo *part,
   printf("::: %d.%d %s\n", part->old_anim_nr + 1, part->old_nr + 1, info_text);
 #endif
 
-  boolean anything_clicked = FALSE;
+  boolean click_consumed = FALSE;
   boolean any_event_action = FALSE;
 
   // check if this event is defined to trigger other animations
-  InitGlobalAnim_Triggered(part, &anything_clicked, &any_event_action,
+  InitGlobalAnim_Triggered(part, &click_consumed, &any_event_action,
                           event_value, info_text);
 }
 
@@ -1754,7 +1759,7 @@ static void InitGlobalAnim_Clickable(void)
 
 static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
 {
-  boolean anything_clicked = FALSE;
+  boolean click_consumed = FALSE;
   boolean any_part_clicked = FALSE;
   boolean any_event_action = FALSE;
   int mode_nr;
@@ -1786,7 +1791,7 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
        if (!part->clickable)
          continue;
 
-       if (part->state != ANIM_STATE_RUNNING)
+       if (!(part->state & ANIM_STATE_RUNNING))
          continue;
 
        // always handle "any" click events (clicking anywhere on screen) ...
@@ -1799,7 +1804,7 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
 #endif
 
          part->clicked = TRUE;
-         anything_clicked = clickConsumed(part);
+         click_consumed = clickConsumed(part);
        }
 
        // always handle "unclick:any" events (releasing anywhere on screen) ...
@@ -1812,7 +1817,7 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
 #endif
 
          part->clicked = TRUE;
-         anything_clicked = clickConsumed(part);
+         click_consumed = clickConsumed(part);
        }
 
        // ... but only handle the first (topmost) clickable animation
@@ -1842,18 +1847,18 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
 #endif
 
            part->clicked = TRUE;
-           anything_clicked = clickConsumed(part);
+           click_consumed = clickConsumed(part);
          }
 
          // check if this click is defined to trigger other animations
-         InitGlobalAnim_Triggered(part, &anything_clicked, &any_event_action,
+         InitGlobalAnim_Triggered(part, &click_consumed, &any_event_action,
                                   ANIM_EVENT_CLICK, "CLICK");
        }
       }
     }
   }
 
-  if (anything_clicked)
+  if (click_consumed)
   {
     handle_click = TRUE;
 
@@ -1862,7 +1867,7 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, int clicked_event)
     handle_click = FALSE;
   }
 
-  return (anything_clicked || any_event_action);
+  return (click_consumed || any_event_action);
 }
 
 static void ResetGlobalAnim_Clickable(void)