added engine and graphics initialization functions for native BD engine
[rocksndiamonds.git] / src / init.c
index 9d3fa544c7407fa80547811443b2fd241011812f..f2e78edebab08a46d38b37f73b18953fb0d0657c 100644 (file)
@@ -1550,7 +1550,7 @@ static void set_graphic_parameters_ext(int graphic, int *parameter,
 
   // optionally, the second movement tile can be specified as start tile
   if (parameter[GFX_ARG_2ND_SWAP_TILES] != ARG_UNDEFINED_VALUE)
-    g->swap_double_tiles= parameter[GFX_ARG_2ND_SWAP_TILES];
+    g->swap_double_tiles = parameter[GFX_ARG_2ND_SWAP_TILES];
 
   // automatically determine correct number of frames, if not defined
   if (parameter[GFX_ARG_FRAMES] != ARG_UNDEFINED_VALUE)
@@ -2446,6 +2446,8 @@ static void ReinitializeGraphics(void)
   InitImageTextures();                 // create textures for certain images
   print_timestamp_time("InitImageTextures");
 
+  InitGraphicInfo_BD();                        // graphic mapping for BD engine
+  print_timestamp_time("InitGraphicInfo_BD");
   InitGraphicInfo_EM();                        // graphic mapping for EM engine
   print_timestamp_time("InitGraphicInfo_EM");
 
@@ -4571,6 +4573,7 @@ void InitElementPropertiesStatic(void)
   static int ep_editor_cascade_active[] =
   {
     EL_INTERNAL_CASCADE_BD_ACTIVE,
+    EL_INTERNAL_CASCADE_BD_NATIVE_ACTIVE,
     EL_INTERNAL_CASCADE_EM_ACTIVE,
     EL_INTERNAL_CASCADE_EMC_ACTIVE,
     EL_INTERNAL_CASCADE_RND_ACTIVE,
@@ -4595,6 +4598,7 @@ void InitElementPropertiesStatic(void)
   static int ep_editor_cascade_inactive[] =
   {
     EL_INTERNAL_CASCADE_BD,
+    EL_INTERNAL_CASCADE_BD_NATIVE,
     EL_INTERNAL_CASCADE_EM,
     EL_INTERNAL_CASCADE_EMC,
     EL_INTERNAL_CASCADE_RND,
@@ -5028,7 +5032,7 @@ static void InitGlobal(void)
 
     element_info[i].token_name = element_name_info[i].token_name;
     element_info[i].class_name = element_name_info[i].class_name;
-    element_info[i].editor_description= element_name_info[i].editor_description;
+    element_info[i].editor_description = element_name_info[i].editor_description;
   }
 
   for (i = 0; i < NUM_GLOBAL_ANIM_TOKENS + 1; i++)
@@ -5725,6 +5729,7 @@ void InitGfxBuffers(void)
   // required if door size definitions have changed
   InitGraphicCompatibilityInfo_Doors();
 
+  InitGfxBuffers_BD();
   InitGfxBuffers_EM();
   InitGfxBuffers_SP();
   InitGfxBuffers_MM();
@@ -6626,6 +6631,7 @@ void OpenAll(void)
 
   InitGfxBackground();
 
+  bd_open_all();
   em_open_all();
   sp_open_all();
   mm_open_all();
@@ -6744,6 +6750,7 @@ void CloseAllAndExit(int exit_value)
   FreeAllMusic();
   CloseAudio();                // called after freeing sounds (needed for SDL)
 
+  bd_close_all();
   em_close_all();
   sp_close_all();