Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv21397/src

Modified Files:
        parsemeta.c 
Log Message:
Changed default metaStatusLevel from 3 to 2, so as not to include timed out 
servers
New engine sound that replaces the old static-like engine sound, the sound file 
is still not used in normal gameplay though
Changed default beeplite settings to include highlighting and sound effects for 
carrying, take and escorting RCDs.
Fixed unnecessary reinitialization of metaping info for servers already found 
in server list
Moved all metaping IP lookup initialization into the main metaping thread

Index: parsemeta.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/parsemeta.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- parsemeta.c 19 Dec 2006 14:30:53 -0000      1.25
+++ parsemeta.c 21 Dec 2006 13:48:27 -0000      1.26
@@ -142,7 +142,7 @@
     statusNull, statusCantConnect, statusDefault, statusConnecting
 };
 
-int metaStatusLevel = statusTout;
+int metaStatusLevel = statusNobody;
 
 
 /* Functions */
@@ -439,7 +439,7 @@
     token = strtok(NULL,",");
   } /* while (token != NULL) */
 
-  metaWindowName = "Netrek XP 2006 MetaServer List";
+  metaWindowName = "Netrek XP 2006 Server List";
   return sent;
 }
 
@@ -582,6 +582,12 @@
       sp->age = age;
       sp->when = now;
       sp->lifetime = 4;
+#ifdef METAPING
+      sp->ip_lookup = 0;
+      /* Initialize the ping rtt fields */
+      for (j = 0; j < RTT_AVG_BUFLEN; ++j )
+        sp->pkt_rtt[j] = (unsigned long) -1;
+#endif
     }
     /* if it was found, check age */
     else {
@@ -605,12 +611,6 @@
 
     sp->typeflag = type;
     strcpy(sp->comment, "");
-#ifdef METAPING
-    sp->ip_lookup = 0;
-    /* Initialize the ping rtt fields */
-    for (j = 0; j < RTT_AVG_BUFLEN; ++j )
-      sp->pkt_rtt[j] = (unsigned long) -1;
-#endif
   }
 }
 
@@ -669,10 +669,19 @@
     grow(1);
     sp = serverlist + num_servers;
     num_servers++;
+#ifdef METAPING
+    sp->ip_lookup = 0;
+    /* Initialize the ping rtt fields */
+    for (i = 0; i < RTT_AVG_BUFLEN; ++i )
+      sp->pkt_rtt[i] = (unsigned long) -1;
+#endif
   }
 
   /* add or update the entry */
-  strncpy(sp->address, host, LINE);
+  if (host != NULL)
+    strncpy(sp->address, host, LINE);
+  else
+    strcpy(sp->address, "Unknown address");
   sp->port = port;
   sp->age = 0;
   sp->when = now;
@@ -683,12 +692,6 @@
   sp->typeflag = type;
   strncpy(sp->comment, comment, LINE);
   free(comment);
-#ifdef METAPING
-  sp->ip_lookup = 0;
-  /* Initialize the ping rtt fields */
-  for (i = 0; i < RTT_AVG_BUFLEN; ++i )
-    sp->pkt_rtt[i] = (unsigned long) -1;
-#endif
 }
 
 static int ReadMetasRecv(int x)
@@ -780,10 +783,6 @@
         metaWin = W_MakeMenu ("MetaServer List", 0, 0, 80, metaHeight, NULL, 
2);
         W_SetWindowKeyDownHandler (metaWin, metaaction);
         W_SetWindowButtonHandler (metaWin, metaaction);
-        metawindow();
-#ifdef METAPING
-        metapinginit();
-#endif
     }
 
     /* if we have seen the same number of replies to what we sent, end */
@@ -1282,7 +1281,7 @@
     switch (type)
     {
         case 1:
-            ReadMetasSend();
+           ReadMetasSend();
            LoadMetasCache();
            if (num_servers == 0) ReadMetasRecv(-1);
            if (num_servers != 0) {
@@ -1990,11 +1989,11 @@
        {
                if (serverlist[i].ip_lookup == 0)
                {
+                       serverlist[i].ip_lookup = 1;
                        if ((hp = gethostbyname(serverlist[i].address)) == NULL)
                                serverlist[i].ip_addr = 
inet_addr(serverlist[i].address); // INADDR_NONE if failed
                        else
                                serverlist[i].ip_addr = *((u_long FAR *) 
(hp->h_addr));
-                       serverlist[i].ip_lookup = 1;
                }
        }
 }
@@ -2011,7 +2010,6 @@
        struct sockaddr_in      saDest;
        struct sockaddr_in      saSrc;
 
-       metapinginit();
 
        // Create a Raw socket
        rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
@@ -2023,6 +2021,9 @@
 
        while (!thread_ready)
        {
+               // Lookup any IP addresses if necessary
+               metapinginit();
+
                // Flood ping all netrek servers at once
                for (i = 0; i < num_servers; ++i)
                {


_______________________________________________
netrek-cvs mailing list
[email protected]
http://mailman.us.netrek.org/mailman/listinfo/netrek-cvs

Reply via email to