replaced glib function calls to g_strfreev()
[rocksndiamonds.git] / src / game_bd / bd_graphics.c
index 22851bdd8c0840996b7e48234e7e3e7a7f6967ab..b88f5bdb3ebbfefc15037f8e87d948228adb5349 100644 (file)
@@ -216,6 +216,9 @@ boolean gd_scroll(GdGame *game, boolean exact_scroll, boolean immediate)
   /* caught up with the desired position. smaller is better. */
   int scroll_speed = cell_size * 20 / game->cave->speed;
 
+  if (!setup.bd_scroll_delay)
+    exact_scroll = TRUE;
+
   if (immediate)
     scroll_speed = cell_size * MAX(game->cave->w, game->cave->h);
 
@@ -315,7 +318,9 @@ static void gd_drawcave_tile(Bitmap *dest, GdGame *game, int x, int y, boolean d
   int tile = game->element_buffer[y][x];
   int frame = game->animcycle;
   struct GraphicInfo_BD *g = &graphic_info_bd_object[tile][frame];
-  boolean use_smooth_movements = TRUE;
+  boolean use_smooth_movements =
+    ((setup.bd_smooth_movements == TRUE) ||
+     (setup.bd_smooth_movements == AUTO && !use_native_bd_graphics_engine()));
 
 #if DO_GFX_SANITY_CHECK
   if (use_native_bd_graphics_engine() && !setup.small_game_graphics && !program.headless)