+void FadeInField(int fade_delay)
+{
+ if (fade_delay == 0)
+ {
+ BackToFront();
+
+ return;
+ }
+
+ FadeRectangle(NULL, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,
+ FADE_MODE_FADE_IN, fade_delay, 0);
+
+ redraw_mask &= ~REDRAW_FIELD;
+}
+
+void FadeOutField(int fade_delay, int post_delay)
+{
+ if (fade_delay == 0)
+ {
+ ClearRectangle(backbuffer, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
+ BackToFront();
+
+ return;
+ }
+
+ FadeRectangle(NULL, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,
+ FADE_MODE_FADE_OUT, fade_delay, post_delay);
+
+ redraw_mask &= ~REDRAW_FIELD;
+}
+
+void FadeCrossField(int fade_delay)
+{
+ if (fade_delay == 0)
+ {
+ BlitBitmap(bitmap_db_title, backbuffer, REAL_SX, REAL_SY,
+ FULL_SXSIZE, FULL_SYSIZE, REAL_SX, REAL_SY);
+ BackToFront();
+
+ return;
+ }
+
+ FadeRectangle(bitmap_db_title, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,
+ FADE_MODE_CROSSFADE, fade_delay, 0);
+
+ redraw_mask &= ~REDRAW_FIELD;
+}
+