X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fnetwork.c;h=66a57e4591a870641f196999b8a393e660e25cb5;hb=5771da1ed1f20e77bfeac44eee6da8cf9894e7a3;hp=5f35825a6aed79117107402e095ed98cb8064cf1;hpb=e02ece0bdcbe2a883a0a104d8b33bf435ad169db;p=rocksndiamonds.git diff --git a/src/network.c b/src/network.c index 5f35825a..66a57e45 100644 --- a/src/network.c +++ b/src/network.c @@ -297,10 +297,8 @@ boolean ConnectToServer(char *hostname, int port) StartNetworkServer(port); /* wait for server to start up and try connecting several times */ - for (i = 0; i < 6; i++) + for (i = 0; i < 30; i++) { - Delay(500); /* wait 500 ms == 0.5 seconds */ - if ((sfd = SDLNet_TCP_Open(&ip))) /* connected */ { DrawNetworkText_Success("Successfully connected!"); @@ -308,6 +306,8 @@ boolean ConnectToServer(char *hostname, int port) SDLNet_TCP_AddSocket(rfds, sfd); return TRUE; } + + Delay(100); } DrawNetworkText_Failed("Failed to connect to network server!"); @@ -809,3 +809,16 @@ void HandleNetworking() } } } + +void DisconnectFromNetworkServer() +{ + DrawNetworkText_Title("Terminating Network"); + DrawNetworkText("Disconnecting from network server ..."); + + HandleNetworkingDisconnect(); + + DrawNetworkText_Success("Successfully disconnected!"); + + /* short time to recognize result of network initialization */ + Delay(1000); +}