changed some comments
[rocksndiamonds.git] / src / game_bd / main_bd.c
index 933505233746c064d3e445d5290acadece34b594..da296229a6652392b2ecd6f56ea05f05b49e304a 100644 (file)
@@ -137,7 +137,7 @@ boolean LoadNativeLevel_BD(char *filename, int level_pos, boolean level_info_onl
   // check if this cave has any replays
   if (native_bd_level.cave->replays != NULL)
   {
-    GList *item = native_bd_level.cave->replays;
+    List *item = native_bd_level.cave->replays;
 
     // try to find replay that was recorded for this difficulty level
     while (item != NULL &&
@@ -154,6 +154,16 @@ boolean LoadNativeLevel_BD(char *filename, int level_pos, boolean level_info_onl
   return TRUE;
 }
 
+boolean SaveNativeLevel_BD(char *filename)
+{
+  GdCave *cave = gd_cave_new_from_cave(native_bd_level.cave);
+
+  gd_caveset_clear();
+  gd_caveset = list_append(gd_caveset, cave);
+
+  return gd_caveset_save_to_file(filename);
+}
+
 
 // ============================================================================
 // game engine functions
@@ -243,7 +253,7 @@ unsigned int InitEngineRandom_BD(int seed)
   if (seed == NEW_RANDOMIZE)
   {
     // get randomly selected seed to render the cave
-    seed = g_random_int_range(0, GD_CAVE_SEED_MAX);
+    seed = gd_random_int_range(0, GD_CAVE_SEED_MAX);
   }
 
   game_bd.random_seed = seed;
@@ -269,6 +279,10 @@ void InitGameEngine_BD(void)
 
   game_bd.game = gd_game_new(native_bd_level.cave_nr, native_bd_level.level_nr);
 
+  game_bd.game->itercycle = 0;
+  game_bd.game->itermax = 8;   // default; dynamically changed at runtime
+  game_bd.game->itermax_last = game_bd.game->itermax;
+
   // default: start with completely covered playfield
   int next_state = GAME_INT_START_UNCOVER + 1;