fixed moving tile selection cursor
[rocksndiamonds.git] / src / tools.c
index 3c301a3912f9b03461885a1102dfafe0807dee71..d11d99d2effc0b5579c2206374facfdfda83a0d8 100644 (file)
@@ -654,10 +654,9 @@ void DrawTileCursor(int draw_target)
       !tile_cursor.active)
     return;
 
-  if (tile_cursor.x != tile_cursor.target_x ||
-      tile_cursor.y != tile_cursor.target_y)
+  if (tile_cursor.moving)
   {
-    int step = TILESIZE_VAR / (GADGET_FRAME_DELAY / video.frame_delay_value);
+    int step = TILESIZE_VAR / 4;
     int dx = tile_cursor.target_x - tile_cursor.x;
     int dy = tile_cursor.target_y - tile_cursor.y;
 
@@ -670,6 +669,10 @@ void DrawTileCursor(int draw_target)
       tile_cursor.y = tile_cursor.target_y;
     else
       tile_cursor.y += SIGN(dy) * step;
+
+    if (tile_cursor.x == tile_cursor.target_x &&
+       tile_cursor.y == tile_cursor.target_y)
+      tile_cursor.moving = FALSE;
   }
 
   dst_x = tile_cursor.x;