rnd-20070401-1-src
[rocksndiamonds.git] / src / init.c
index a8017155d78226cad43a2891794f528a7bc913b6..08177e1b3cd22e520f2451d5649d1702d0b7e05c 100644 (file)
@@ -1032,6 +1032,7 @@ static void set_graphic_parameters(int graphic)
   graphic_info[graphic].anim_delay_random = 0;
   graphic_info[graphic].post_delay_fixed = 0;
   graphic_info[graphic].post_delay_random = 0;
+  graphic_info[graphic].fade_mode = FADE_MODE_DEFAULT;
   graphic_info[graphic].fade_delay = -1;
   graphic_info[graphic].post_delay = -1;
   graphic_info[graphic].auto_delay = -1;
@@ -1223,7 +1224,9 @@ static void set_graphic_parameters(int graphic)
   if (parameter[GFX_ARG_CLONE_FROM] != ARG_UNDEFINED_VALUE)
     graphic_info[graphic].clone_from = parameter[GFX_ARG_CLONE_FROM];
 
-  /* optional settings for drawing title screens */
+  /* optional settings for drawing title screens and title messages */
+  if (parameter[GFX_ARG_FADE_MODE] != ARG_UNDEFINED_VALUE)
+    graphic_info[graphic].fade_mode = parameter[GFX_ARG_FADE_MODE];
   if (parameter[GFX_ARG_FADE_DELAY] != ARG_UNDEFINED_VALUE)
     graphic_info[graphic].fade_delay = parameter[GFX_ARG_FADE_DELAY];
   if (parameter[GFX_ARG_POST_DELAY] != ARG_UNDEFINED_VALUE)
@@ -4848,10 +4851,14 @@ void InitGfxBackground()
   fieldbuffer = bitmap_db_field;
   SetDrawtoField(DRAW_BACKBUFFER);
 
+#if 1
+  ClearRectangle(backbuffer, 0, 0, WIN_XSIZE, WIN_YSIZE);
+#else
   RedrawBackground();
 
   ClearRectangle(backbuffer, REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE);
   ClearRectangle(bitmap_db_door, 0, 0, 3 * DXSIZE, DYSIZE + VYSIZE);
+#endif
 
   for (x = 0; x < MAX_BUF_XSIZE; x++)
     for (y = 0; y < MAX_BUF_YSIZE; y++)
@@ -5112,7 +5119,17 @@ void ReloadCustomArtwork(int force_reload)
     SetDoorState(DOOR_OPEN_ALL);
     CloseDoor(DOOR_CLOSE_ALL | DOOR_NO_DELAY);
 
+#if 1
+#if 1
+    FadeSetEnterScreen();
+    // FadeSkipNextFadeOut();
+    // FadeSetDisabled();
+#else
+    FadeSkipNext();
+#endif
+#else
     fading = fading_none;
+#endif
   }
 }
 
@@ -5197,10 +5214,17 @@ void OpenAll()
     return;
   }
 
-  fading = fading_none;
-
   game_status = GAME_MODE_MAIN;
 
+#if 1
+  FadeSetEnterScreen();
+  if (!(fading.fade_mode & FADE_TYPE_TRANSFORM))
+    FadeSkipNextFadeOut();
+  // FadeSetDisabled();
+#else
+  fading = fading_none;
+#endif
+
   DrawMainMenu();
 
   InitNetworkServer();