re-added file "RocksBusy.ilbm" (that was accidentally deleted)
[rocksndiamonds.git] / src / events.c
index 146689f614be357b1d1f6687d9bc1d5331103bd7..b610ff8b7a05b211daf6393031e0694df00e0a7d 100644 (file)
@@ -347,6 +347,23 @@ void EventLoop(void)
   }
 }
 
+void ClearAutoRepeatKeyEvents()
+{
+  while (PendingEvent())
+  {
+    Event next_event;
+
+    PeekEvent(&next_event);
+
+    /* if event is repeated key press event, remove it from event queue */
+    if (next_event.type == EVENT_KEYPRESS &&
+       next_event.key.repeat)
+      WaitEvent(&next_event);
+    else
+      break;
+  }
+}
+
 void ClearEventQueue()
 {
   Event event;
@@ -1370,6 +1387,8 @@ static void HandleButtonOrFinger(int mx, int my, int button)
       HandleButtonOrFinger_WipeGestures_MM(mx, my, button);
     else if (strEqual(setup.touch.control_type, TOUCH_CONTROL_FOLLOW_FINGER))
       HandleButtonOrFinger_FollowFinger_MM(mx, my, button);
+    else if (strEqual(setup.touch.control_type, TOUCH_CONTROL_VIRTUAL_BUTTONS))
+      SetPlayerMouseAction(mx, my, button);    /* special case */
   }
   else
   {
@@ -2031,7 +2050,7 @@ void HandleKey(Key key, int key_status)
   if (game_status == GAME_MODE_MAIN &&
       (key == setup.shortcut.toggle_pause || key == KSYM_space))
   {
-    StartGameActions(options.network, setup.autorecord, level.random_seed);
+    StartGameActions(network.enabled, setup.autorecord, level.random_seed);
 
     return;
   }
@@ -2222,10 +2241,8 @@ void HandleEventActions()
     HandleJoystick();
   }
 
-#if defined(NETWORK_AVALIABLE)
-  if (options.network)
+  if (network.enabled)
     HandleNetworking();
-#endif
 
   switch (game_status)
   {
@@ -2496,3 +2513,18 @@ void HandleSpecialGameControllerKeys(Key key, int key_status)
 #endif
 #endif
 }
+
+boolean DoKeysymAction(int keysym)
+{
+  if (keysym < 0)
+  {
+    Key key = (Key)(-keysym);
+
+    HandleKey(key, KEY_PRESSED);
+    HandleKey(key, KEY_RELEASED);
+
+    return TRUE;
+  }
+
+  return FALSE;
+}