+ {
+ Error(ERR_DEBUG, "no network server found");
+ }
+ }
+
+ rfds = SDLNet_AllocSocketSet(1);
+
+ if (hostname)
+ {
+ SDLNet_ResolveHost(&ip, hostname, port);
+
+ if (ip.host == INADDR_NONE)
+ Error(ERR_EXIT, "cannot locate host '%s'", hostname);
+ else
+ server_host = SDLNet_Read32(&ip.host);
+ }
+ else
+ {
+ // if no hostname was given and no network server was auto-detected in the
+ // local network, try to connect to a network server at the local host
+ if (server_host == 0)
+ server_host = 0x7f000001; /* 127.0.0.1 */
+
+ SDLNet_Write32(server_host, &ip.host);
+ SDLNet_Write16(port, &ip.port);
+ }
+
+ Error(ERR_DEBUG, "trying to connect to network server at %d.%d.%d.%d ...",
+ (server_host >> 24) & 0xff,
+ (server_host >> 16) & 0xff,
+ (server_host >> 8) & 0xff,
+ (server_host >> 0) & 0xff);
+
+ sfd = SDLNet_TCP_Open(&ip);
+
+ if (sfd)
+ {
+ SDLNet_TCP_AddSocket(rfds, sfd);
+ return TRUE;