added counting mouse clicks on mouse click CEs when using step counter
authorHolger Schemel <info@artsoft.org>
Sat, 11 Dec 2021 11:35:17 +0000 (12:35 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 22 Jan 2022 16:58:29 +0000 (17:58 +0100)
src/game.c

index 11311009b5f831e1c1dc0b25f3b9fd4ee4ad10e0..87c054a211c0363e6200dd8670c984c5a90a3d21 100644 (file)
@@ -12326,6 +12326,25 @@ void GameActions_RND(void)
     CheckElementChangeByMouse(x, y, element, CE_PRESSED_BY_MOUSE, ch_button);
     CheckTriggeredElementChangeByMouse(x, y, element, CE_MOUSE_PRESSED_ON_X,
                                       ch_button);
+
+    if (level.use_step_counter)
+    {
+      boolean counted_click = FALSE;
+
+      // element clicked that can change when clicked/pressed
+      if (CAN_CHANGE_OR_HAS_ACTION(element) &&
+         (HAS_ANY_CHANGE_EVENT(element, CE_CLICKED_BY_MOUSE) ||
+          HAS_ANY_CHANGE_EVENT(element, CE_PRESSED_BY_MOUSE)))
+       counted_click = TRUE;
+
+      // element clicked that can trigger change when clicked/pressed
+      if (trigger_events[element][CE_MOUSE_CLICKED_ON_X] ||
+         trigger_events[element][CE_MOUSE_PRESSED_ON_X])
+       counted_click = TRUE;
+
+      if (new_button && counted_click)
+       CheckLevelTime_StepCounter();
+    }
   }
 
   SCAN_PLAYFIELD(x, y)