-void SDLFadeRectangle(Bitmap *bitmap_cross, int x, int y, int width, int height,
+void PrepareFadeBitmap(int draw_target)
+{
+ Bitmap *fade_bitmap =
+ (draw_target == DRAW_TO_FADE_SOURCE ? gfx.fade_bitmap_source :
+ draw_target == DRAW_TO_FADE_TARGET ? gfx.fade_bitmap_target : NULL);
+
+ if (fade_bitmap == NULL)
+ return;
+
+ // copy backbuffer to fading buffer
+ BlitBitmap(backbuffer, fade_bitmap, 0, 0, gfx.win_xsize, gfx.win_ysize, 0, 0);
+
+ // add border and animations to fading buffer
+ FinalizeScreen(draw_target);
+}
+
+void SDLFadeRectangle(int x, int y, int width, int height,