fixed re-initialization of textures after change of renderer
[rocksndiamonds.git] / src / init.c
index e33a5adb8e7037d22a2fef9be46d92db6f3760ce..375bf6a3174e2c25204b7c95a3ceabe41a615d28 100644 (file)
@@ -226,10 +226,12 @@ void InitBitmapPointers()
       graphic_info[i].bitmap = graphic_info[i].bitmaps[IMG_BITMAP_STANDARD];
 }
 
-static void InitGlobalAnimImages()
+void InitImageTextures()
 {
   int i, j, k;
 
+  FreeAllImageTextures();
+
   for (i = 0; i < NUM_GLOBAL_ANIMS; i++)
   {
     for (j = 0; j < NUM_GLOBAL_ANIM_PARTS_ALL; j++)
@@ -241,7 +243,6 @@ static void InitGlobalAnimImages()
        if (graphic == IMG_UNDEFINED)
          continue;
 
-       // create textures from images for fast GPU blitting, if possible
        CreateImageTextures(graphic);
       }
     }
@@ -2026,8 +2027,9 @@ static void ReinitializeGraphics()
   print_timestamp_time("InitFontGraphicInfo");
   InitGlobalAnimGraphicInfo();         /* initialize global animation config */
   print_timestamp_time("InitGlobalAnimGraphicInfo");
-  InitGlobalAnimImages();              /* initialize global animation images */
-  print_timestamp_time("InitGlobalAnimImages");
+
+  InitImageTextures();                 /* create textures for certain images */
+  print_timestamp_time("InitImageTextures");
 
   InitGraphicInfo_EM();                        /* graphic mapping for EM engine */
   print_timestamp_time("InitGraphicInfo_EM");