rnd-20070327-1-src
[rocksndiamonds.git] / src / tools.c
index d3909d5eedbfff6901940af9c64a692d8481f1fc..ba774925f95d7128c5a3c9c8be3f48cbdf8b9aa8 100644 (file)
@@ -523,7 +523,11 @@ void FadeExt(int fade_mask, int fade_mode)
 {
   static int fade_mode_skip = FADE_MODE_NONE;
   void (*draw_border_function)(void) = NULL;
-  Bitmap *bitmap = (fade_mode == FADE_MODE_CROSSFADE ? bitmap_db_cross : NULL);
+#if 0
+  Bitmap *bitmap = (fade_mode != FADE_MODE_FADE_IN ? bitmap_db_cross : NULL);
+#else
+  Bitmap *bitmap = (fade_mode & FADE_TYPE_TRANSFORM ? bitmap_db_cross : NULL);
+#endif
   int x, y, width, height;
   int fade_delay, post_delay;
 
@@ -531,6 +535,10 @@ void FadeExt(int fade_mask, int fade_mode)
 
   if (fade_mode & FADE_TYPE_SKIP)
   {
+#if 0
+    printf("::: will skip %d ... [%d]\n", fade_mode, fade_mode_skip);
+#endif
+
     fade_mode_skip = fade_mode;
 
     return;
@@ -549,6 +557,11 @@ void FadeExt(int fade_mask, int fade_mode)
     return;
   }
 
+#if 1
+  if (global.autoplay_leveldir)
+    fading.fade_mode = FADE_MODE_NONE;
+#endif
+
 #if 1
   if (fading.fade_mode == FADE_MODE_NONE)
     return;
@@ -599,6 +612,14 @@ void FadeExt(int fade_mask, int fade_mode)
 
 void FadeIn(int fade_mask)
 {
+#if 1
+  // printf("::: now fading in...\n");
+
+  if (fading.fade_mode & FADE_TYPE_TRANSFORM)
+    FadeExt(fade_mask, fading.fade_mode);
+  else
+    FadeExt(fade_mask, FADE_MODE_FADE_IN);
+#else
 #if 1
   if (fading.fade_mode == FADE_MODE_CROSSFADE)
     FadeExt(fade_mask, FADE_MODE_CROSSFADE);
@@ -607,10 +628,19 @@ void FadeIn(int fade_mask)
 #else
   FadeExt(fade_mask, FADE_MODE_FADE_IN);
 #endif
+#endif
 }
 
 void FadeOut(int fade_mask)
 {
+#if 1
+  // printf("::: fading.fade_mode == %d\n", fading.fade_mode);
+
+  if (fading.fade_mode & FADE_TYPE_TRANSFORM)
+    FadeCrossSaveBackbuffer();
+  else
+    FadeExt(fade_mask, FADE_MODE_FADE_OUT);
+#else
 #if 1
   if (fading.fade_mode == FADE_MODE_CROSSFADE)
     FadeCrossSaveBackbuffer();
@@ -619,6 +649,7 @@ void FadeOut(int fade_mask)
 #else
   FadeExt(fade_mask, FADE_MODE_FADE_OUT);
 #endif
+#endif
 }
 
 void FadeCross(int fade_mask)
@@ -1781,15 +1812,29 @@ void getPreviewGraphicSource(int graphic, Bitmap **bitmap, int *x, int *y,
   {
     int width_mult, width_div;
     int height_mult, height_div;
-  } offset_calc[4] =
+#if 1
+  }
+  offset_calc[6] =
+#else
+  offset_calc[4] =
+#endif
   {
     { 0, 1,    0, 1    },
     { 0, 1,    2, 3    },
     { 1, 2,    2, 3    },
     { 3, 4,    2, 3    },
+#if 1
+    { 7, 8,    2, 3    },
+    { 15, 16,  2, 3    },
+#endif
   };
+#if 1
+  int offset_calc_pos = (tilesize < MICRO_TILESIZE / 4 ||
+                        tilesize > TILESIZE ? 5 : 5 - log_2(tilesize));
+#else
   int offset_calc_pos = (tilesize < MICRO_TILESIZE || tilesize > TILESIZE ? 3 :
                         5 - log_2(tilesize));
+#endif
   Bitmap *src_bitmap = graphic_info[graphic].bitmap;
   int width_mult = offset_calc[offset_calc_pos].width_mult;
   int width_div = offset_calc[offset_calc_pos].width_div;