fixed ignoring mouse actions with MM engine using virtual buttons
[rocksndiamonds.git] / src / init.c
index 9c9af0e90144197a94d2253ad0d38d50cb9e9c7d..1d3085c5c4b9bb47c0fe5f191ea3664b29fd8f7c 100644 (file)
@@ -5087,7 +5087,6 @@ static void InitPlayerInfo()
   }
 
   local_player->connected_locally = TRUE;
-  local_player->connected_network = TRUE;
 }
 
 static void InitArtworkInfo()
@@ -5616,21 +5615,28 @@ void InitNetworkSettings()
 
 void InitNetworkServer()
 {
-  if (!network.enabled)
+  if (!network.enabled || network.connected)
     return;
 
+  LimitScreenUpdates(FALSE);
+
   if (!ConnectToServer(network.server_host, network.server_port))
   {
-    Request("Cannot connect to network server!", REQ_CONFIRM);
-
     network.enabled = FALSE;
 
-    return;
+    setup.network_mode = FALSE;
+  }
+  else
+  {
+    SendToServer_PlayerName(setup.player_name);
+    SendToServer_ProtocolVersion();
+    SendToServer_NrWanted(setup.network_player_nr + 1);
+
+    network.connected = TRUE;
   }
 
-  SendToServer_PlayerName(setup.player_name);
-  SendToServer_ProtocolVersion();
-  SendToServer_NrWanted(setup.network_player_nr + 1);
+  /* short time to recognize result of network initialization */
+  Delay_WithScreenUpdates(1000);
 }
 
 static boolean CheckArtworkConfigForCustomElements(char *filename)
@@ -6093,6 +6099,8 @@ void OpenAll()
     return;
   }
 
+  InitNetworkServer();
+
   SetGameStatus(GAME_MODE_MAIN);
 
   FadeSetEnterScreen();
@@ -6105,8 +6113,6 @@ void OpenAll()
 
   DrawMainMenu();
 
-  InitNetworkServer();
-
 #if 0
   Error(ERR_DEBUG, "::: SDL_GetBasePath() == '%s'",
        SDL_GetBasePath());