X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=dd7e5a174b822a42aefc75fa6ac5de5dcce691d1;hb=db63673f22dc3107dfdb431c2881235039285e07;hp=9c9af0e90144197a94d2253ad0d38d50cb9e9c7d;hpb=d621e281cdb7c66130b216b379fd88a45fb82afa;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 9c9af0e9..dd7e5a17 100644 --- a/src/init.c +++ b/src/init.c @@ -5616,21 +5616,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(1000); } static boolean CheckArtworkConfigForCustomElements(char *filename) @@ -6093,6 +6100,8 @@ void OpenAll() return; } + InitNetworkServer(); + SetGameStatus(GAME_MODE_MAIN); FadeSetEnterScreen(); @@ -6105,8 +6114,6 @@ void OpenAll() DrawMainMenu(); - InitNetworkServer(); - #if 0 Error(ERR_DEBUG, "::: SDL_GetBasePath() == '%s'", SDL_GetBasePath());