fixed bug with handling networking packets if request dialog is active
[rocksndiamonds.git] / src / init.c
index 1e8d7e825db985c41cbb9526562890a5ef137f0e..2167984b663649481289e4d4c0c5f14be1670312 100644 (file)
@@ -136,6 +136,20 @@ static void DrawInitAnim(void)
   FrameCounter++;
 }
 
+static void DrawProgramInfo(void)
+{
+  int font1_nr = FC_YELLOW;
+  int font2_nr = FC_RED;
+  int font2_height = getFontHeight(font2_nr);
+  int ypos1 = 20;
+  int ypos2 = 50;
+  int ypos3 = WIN_YSIZE - 20 - font2_height;
+
+  DrawInitText(getProgramInitString(),           ypos1, font1_nr);
+  DrawInitText(setup.internal.program_copyright, ypos2, font2_nr);
+  DrawInitText(setup.internal.program_website,   ypos3, font2_nr);
+}
+
 static void FreeGadgets(void)
 {
   FreeLevelEditorGadgets();
@@ -5099,6 +5113,7 @@ static void InitGameInfo(void)
 {
   game.restart_level = FALSE;
   game.restart_game_message = NULL;
+  game.request_active = FALSE;
 }
 
 static void InitPlayerInfo(void)
@@ -5327,7 +5342,6 @@ static void InitGfx(void)
   char *filename_font_initial = NULL;
   char *filename_anim_initial = NULL;
   Bitmap *bitmap_font_initial = NULL;
-  int font_height;
   int i, j;
 
   /* determine settings for initial font (for displaying startup messages) */
@@ -5378,12 +5392,7 @@ static void InitGfx(void)
 
   InitFontGraphicInfo();
 
-  font_height = getFontHeight(FC_RED);
-
-  DrawInitText(getProgramInitString(), 20, FC_YELLOW);
-  DrawInitText(setup.internal.program_copyright, 50, FC_RED);
-  DrawInitText(setup.internal.program_website, WIN_YSIZE - 20 - font_height,
-              FC_RED);
+  DrawProgramInfo();
 
   DrawInitText("Loading graphics", 120, FC_GREEN);
 
@@ -5657,6 +5666,9 @@ void InitNetworkServer(void)
 
   LimitScreenUpdates(FALSE);
 
+  if (game_status == GAME_MODE_LOADING)
+    DrawProgramInfo();
+
   if (!ConnectToServer(network.server_host, network.server_port))
   {
     network.enabled = FALSE;
@@ -5673,7 +5685,8 @@ void InitNetworkServer(void)
   }
 
   /* short time to recognize result of network initialization */
-  Delay_WithScreenUpdates(1000);
+  if (game_status == GAME_MODE_LOADING)
+    Delay_WithScreenUpdates(1000);
 }
 
 static boolean CheckArtworkConfigForCustomElements(char *filename)