renamed variables
[rocksndiamonds.git] / src / game_bd / main_bd.c
index 3992593359260faac31cd6b3823666dd57ac1889..32305736fda1a21780d7d4fc923e2ec4ff6733a1 100644 (file)
@@ -40,7 +40,7 @@ void bd_open_all(void)
 
   gd_caveset_clear();
 
-  gd_init_keystate();
+  gd_init_play_area();
 
   gd_sound_init();
 }
@@ -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
@@ -250,17 +258,17 @@ int getTimeLeft_BD(void)
 static void UpdateGameDoorValues_BD(void)
 {
   GdCave *cave = game_bd.game->cave;
-  int time_secs = gd_cave_time_show(cave, cave->time);
+  int time_left = gd_cave_time_show(cave, cave->time);
   int gems_still_needed = MAX(0, (cave->diamonds_needed - cave->diamonds_collected));
 
-  game_bd.time_played = time_secs;
+  game_bd.time_left = time_left;
   game_bd.gems_still_needed = gems_still_needed;
   game_bd.score = game_bd.game->player_score;
 
   if (game.LevelSolved)
   {
     // update time and score in panel while counting bonus time
-    game.LevelSolved_CountingTime  = game_bd.time_played;
+    game.LevelSolved_CountingTime  = game_bd.time_left;
     game.LevelSolved_CountingScore = game_bd.score;
   }
 }
@@ -312,10 +320,6 @@ void InitGameEngine_BD(void)
   game_bd.game_over = FALSE;
   game_bd.cover_screen = FALSE;
 
-  game_bd.time_played = 0;
-  game_bd.gems_still_needed = 0;
-  game_bd.score = 0;
-
   gd_caveset_last_selected       = native_bd_level.cave_nr;
   gd_caveset_last_selected_level = native_bd_level.level_nr;
 
@@ -348,8 +352,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,15 +448,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 == 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 == 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 == 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 == STATE_TRUE) ||
+         (setup.bd_skip_falling_sounds == STATE_AUTO && !game.use_native_bd_sound_engine));
 }
 
 Bitmap **GetTitleScreenBitmaps_BD(void)