rnd-20140313-2-src
[rocksndiamonds.git] / src / events.c
index a189082a82c5cf01a8d7fc5390bd4fa0c0bd7b4d..f1d9ad1125046821b51c8e390a320825be948b80 100644 (file)
@@ -465,9 +465,11 @@ void HandleWindowEvent(WindowEvent *event)
       int new_xpercent = (100 * new_window_width  / video.width);
       int new_ypercent = (100 * new_window_height / video.height);
 
+#if 0
       printf("::: RESIZED from %d, %d to %d, %d\n",
             video.window_width, video.window_height,
             new_window_width, new_window_height);
+#endif
 
       setup.window_scaling_percent = video.window_scaling_percent =
        MIN(MAX(MIN_WINDOW_SCALING_PERCENT, MIN(new_xpercent, new_ypercent)),
@@ -476,11 +478,15 @@ void HandleWindowEvent(WindowEvent *event)
       video.window_width  = new_window_width;
       video.window_height = new_window_height;
 
+#if 0
       printf("::: setup.window_scaling_percent set to %d\n",
             setup.window_scaling_percent);
+#endif
 
       if (game_status == GAME_MODE_SETUP)
        RedrawSetupScreenAfterFullscreenToggle();
+
+      SetWindowTitle();
     }
 #else
     // prevent slightly wrong scaling factor due to rounding differences
@@ -570,12 +576,14 @@ void HandleFingerEvent(FingerEvent *event)
                event->x < 5.0 / 6.0 ? setup.input[0].key.left :
                setup.input[0].key.right) :
               KSYM_UNDEFINED);
+#if 0
     char *key_name = (key == setup.input[0].key.snap  ? "SNAP" :
                      key == setup.input[0].key.drop  ? "DROP" :
                      key == setup.input[0].key.up    ? "UP" :
                      key == setup.input[0].key.down  ? "DOWN" :
                      key == setup.input[0].key.left  ? "LEFT" :
                      key == setup.input[0].key.right ? "RIGHT" : "(unknown)");
+#endif
     char *key_status_name = (key_status == KEY_RELEASED ? "KEY_RELEASED" :
                             "KEY_PRESSED");
 #else
@@ -1144,7 +1152,7 @@ void HandleButton(int mx, int my, int button, int button_nr)
 
     case GAME_MODE_PLAYING:
 #ifdef DEBUG
-      if (button == MB_PRESSED && !motion_status && IN_GFX_SCREEN(mx, my))
+      if (button == MB_PRESSED && !motion_status && IN_GFX_FIELD_PLAY(mx, my))
        DumpTile(LEVELX((mx - SX) / TILEX), LEVELY((my - SY) / TILEY));
 #endif
       break;
@@ -1235,6 +1243,20 @@ static void HandleKeysSpecial(Key key)
     {
       DumpTape(&tape);
     }
+    else if (is_string_suffix(cheat_input, ":fix-tape") ||
+            is_string_suffix(cheat_input, ":ft"))
+    {
+      /* fix single-player tapes that contain player input for more than one
+        player (due to a bug in 3.3.1.2 and earlier versions), which results
+        in playing levels with more than one player in multi-player mode,
+        even though the tape was originally recorded in single-player mode */
+
+      /* remove player input actions for all players but the first one */
+      for (i = 1; i < MAX_PLAYERS; i++)
+       tape.player_participates[i] = FALSE;
+
+      tape.changed = TRUE;
+    }
     else if (is_string_suffix(cheat_input, ":save-native-level") ||
             is_string_suffix(cheat_input, ":snl"))
     {
@@ -1693,6 +1715,7 @@ void HandleKey(Key key, int key_status)
          }
          break;
 
+#if 0
        case KSYM_s:
          if (!global.fps_slowdown)
          {
@@ -1712,7 +1735,9 @@ void HandleKey(Key key, int key_status)
            printf("fps slowdown disabled\n");
          }
          break;
+#endif
 
+#if 0
        case KSYM_f:
          ScrollStepSize = TILEX / 8;
          printf("ScrollStepSize == %d (1/8)\n", ScrollStepSize);
@@ -1732,6 +1757,7 @@ void HandleKey(Key key, int key_status)
          ScrollStepSize = TILEX;
          printf("ScrollStepSize == %d (1/1)\n", ScrollStepSize);
          break;
+#endif
 
        case KSYM_v:
          printf("::: currently using game engine version %d\n",