added fast uncovering of native BD games when started from editor
[rocksndiamonds.git] / src / game_bd / main_bd.c
index a35f3873f29a27b9c47b67fb4cc9e5c6499f3b00..06ecfd0458fa7cea799a9fe044236b56122a75b9 100644 (file)
@@ -181,6 +181,14 @@ boolean SaveNativeLevel_BD(char *filename)
   return gd_caveset_save_to_file(filename);
 }
 
+void DumpLevelset_BD(void)
+{
+  int num_levels_per_cave = (gd_caveset_has_levels() ? 5 : 1);
+
+  Print("Number of levels:   %d\n", num_levels_per_cave * gd_caveset_count());
+  Print("First level number: %d\n", 1);
+}
+
 
 // ============================================================================
 // game engine functions
@@ -348,8 +356,10 @@ void InitGameEngine_BD(void)
   // when skipping uncovering, continue with uncovered playfield
   if (setup.bd_skip_uncovering)
     game_bd.game->state_counter = GAME_INT_UNCOVER_ALL + 1;
+  else if (isLevelEditorTestGame())
+    game_bd.game->state_counter = GAME_INT_UNCOVER_ALL - 8;
 
-  if (setup.bd_skip_uncovering)
+  if (setup.bd_skip_uncovering || isLevelEditorTestGame())
     gd_scroll(game_bd.game, TRUE, TRUE);
 
   ClearRectangle(gd_screen_bitmap, 0, 0, SXSIZE, SYSIZE);
@@ -442,29 +452,29 @@ boolean use_native_bd_graphics_engine(void)
 // check if smooth game element movements selected in setup menu
 boolean use_bd_smooth_movements(void)
 {
-  return ((setup.bd_smooth_movements == TRUE) ||
-         (setup.bd_smooth_movements == MODE_AUTO && !use_native_bd_graphics_engine()));
+  return ((setup.bd_smooth_movements == STATE_TRUE) ||
+         (setup.bd_smooth_movements == STATE_AUTO && !use_native_bd_graphics_engine()));
 }
 
 // check if player pushing graphics selected in setup menu
 boolean use_bd_pushing_graphics(void)
 {
-  return ((setup.bd_pushing_graphics == TRUE) ||
-         (setup.bd_pushing_graphics == MODE_AUTO && !use_native_bd_graphics_engine()));
+  return ((setup.bd_pushing_graphics == STATE_TRUE) ||
+         (setup.bd_pushing_graphics == STATE_AUTO && !use_native_bd_graphics_engine()));
 }
 
 // check if player up/down graphics selected in setup menu
 boolean use_bd_up_down_graphics(void)
 {
-  return ((setup.bd_up_down_graphics == TRUE) ||
-         (setup.bd_up_down_graphics == MODE_AUTO && !use_native_bd_graphics_engine()));
+  return ((setup.bd_up_down_graphics == STATE_TRUE) ||
+         (setup.bd_up_down_graphics == STATE_AUTO && !use_native_bd_graphics_engine()));
 }
 
 // check if skipping falling sounds selected in setup menu
 boolean skip_bd_falling_sounds(void)
 {
-  return ((setup.bd_skip_falling_sounds == TRUE) ||
-         (setup.bd_skip_falling_sounds == MODE_AUTO && !game.use_native_bd_sound_engine));
+  return ((setup.bd_skip_falling_sounds == STATE_TRUE) ||
+         (setup.bd_skip_falling_sounds == STATE_AUTO && !game.use_native_bd_sound_engine));
 }
 
 Bitmap **GetTitleScreenBitmaps_BD(void)