changed most comments from C to C++ style for BD engine code
[rocksndiamonds.git] / src / tools.c
index 7c8f825217ccc2459c94bef3b181412ba99aa228..e1b79cbf870574541be9aaa4001516f0d4711377 100644 (file)
@@ -500,7 +500,9 @@ void RedrawPlayfield(void)
   if (game_status != GAME_MODE_PLAYING)
     return;
 
-  if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
+  if (level.game_engine_type == GAME_ENGINE_TYPE_BD)
+    RedrawPlayfield_BD(TRUE);
+  else if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
     RedrawPlayfield_EM(TRUE);
   else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
     RedrawPlayfield_SP(TRUE);
@@ -668,7 +670,9 @@ void BlitScreenToBitmap_RND(Bitmap *target_bitmap)
 
 void BlitScreenToBitmap(Bitmap *target_bitmap)
 {
-  if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
+  if (level.game_engine_type == GAME_ENGINE_TYPE_BD)
+    BlitScreenToBitmap_BD(target_bitmap);
+  else if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
     BlitScreenToBitmap_EM(target_bitmap);
   else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
     BlitScreenToBitmap_SP(target_bitmap);
@@ -1026,6 +1030,10 @@ void FadeOut(int fade_mask)
       fade_type_skip != FADE_MODE_SKIP_FADE_OUT)
     BackToFront();
 
+  // when using BD game engine, cover playfield before fading out after a game
+  if (game_bd.cover_screen)
+    CoverScreen_BD();
+
   SetScreenStates_BeforeFadingOut();
 
   SetTileCursorActive(FALSE);
@@ -11213,6 +11221,11 @@ void OpenURLFromHash(SetupFileHash *hash, int hash_key)
   OpenURL(getHashEntry(hash, int2str(hash_key, 0)));
 }
 
+char *getCurrentLevelsetName(void)
+{
+  return leveldir_current->name;
+}
+
 
 // ============================================================================
 // tests
@@ -11308,10 +11321,10 @@ static unsigned int test_uuid_random_function_better(int max)
 
 static void TestGeneratingUUIDs_RunTest(int nr, int always_seed, int num_uuids)
 {
-  struct hashtable *hash_seeds =
-    create_hashtable(16, 0.75, get_hash_from_key, hash_keys_are_equal);
-  struct hashtable *hash_uuids =
-    create_hashtable(16, 0.75, get_hash_from_key, hash_keys_are_equal);
+  HashTable *hash_seeds =
+    create_hashtable(get_hash_from_string, hash_key_strings_are_equal, free, NULL);
+  HashTable *hash_uuids =
+    create_hashtable(get_hash_from_string, hash_key_strings_are_equal, free, NULL);
   static char message[100];
   int i;
 
@@ -11390,8 +11403,8 @@ static void TestGeneratingUUIDs_RunTest(int nr, int always_seed, int num_uuids)
 
   Request(message, REQ_CONFIRM);
 
-  hashtable_destroy(hash_seeds, 0);
-  hashtable_destroy(hash_uuids, 0);
+  hashtable_destroy(hash_seeds);
+  hashtable_destroy(hash_uuids);
 }
 
 void TestGeneratingUUIDs(void)