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

Modified Files:
	distress.c newwin.c short.c 
Log Message:
Team select screen no longer uses 99% cpu power (credit to Gregory Hermann for the solution)
Planet kill messages now show armies dooshed (if any), thanks to server short packet change.

Index: newwin.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/newwin.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- newwin.c	24 May 2006 01:14:39 -0000	1.30
+++ newwin.c	26 May 2006 05:58:08 -0000	1.31
@@ -1400,30 +1400,12 @@
         while (!W_EventsPending ())
         {
             time_t elapsed;
-            fd_set rfds;
-            struct timeval tv;
 
             me->p_ghostbuster = 0;
-            /* Since we don't have a socket to check on Win32
-               for windowing system events, we set the timeout to zero and
-               effectively poll. Yes, I could do the correct thing
-               and call WaitForMultipleObjects() etc. but I don't feel like it */
-            tv.tv_sec = 0;
-            tv.tv_usec = 0;
-            FD_ZERO (&rfds);
-            FD_SET (sock, &rfds);
-            if (udpSock >= 0)
-                FD_SET (udpSock, &rfds);
-            // For replacing select to cut down on cpu usage, but not working yet
-            // HANDLE handles[FD_SETSIZE];
-            // WaitForMultipleObjects(32, handles, TRUE, INFINITE);
-            select (32, &rfds, 0, 0, &tv);      /* hmm, 32 might be too small */
-
-            if (FD_ISSET (sock, &rfds) ||
-                (udpSock >= 0 && FD_ISSET (udpSock, &rfds)))
-            {
-                readFromServer (&rfds);
-            }
+            /* Select() causes infinite CPU usage, can't use WaitForMultipleObjects
+               due to UI working on same thread (no blocking), so a simple Sleep
+               is the best solution. */
+            Sleep(10);
             elapsed = time (0) - startTime;
             if (elapsed > (time_t)(autoQuit))
             {

Index: short.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/short.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- short.c	24 May 2006 09:10:08 -0000	1.8
+++ short.c	26 May 2006 05:58:08 -0000	1.9
@@ -1289,7 +1289,7 @@
     static int arg3, arg4;      /* Here are the arguments
                                  * for warnings with more
                                  * than 2 arguments */
-    static int karg3, karg4, karg5 = 0;
+    static int karg3, karg4, karg5, karg6 = 0;
 #ifndef RCM
     char killmess[20];
 #endif
@@ -1544,6 +1544,7 @@
         break;
     case KILLARGS2:
         karg5 = (unsigned char) packet->argument;
+        karg6 = (unsigned char) packet->argument2;
         break;
     case DMKILLP:
 
@@ -1553,12 +1554,14 @@
 
         {
             struct mesg_spacket msg;
+            unsigned char victim;
 
+            victim = (unsigned char) (((unsigned char) packet->argument) & 0x3f);
 #ifdef RCM
             dist.distype = rcm;
-            dist.sender = packet->argument;
-            dist.tclose_j = packet->argument;
-            dist.arms = '\0';
+            dist.sender = victim;
+            dist.tclose_j = victim;
+            dist.arms = karg6;
             dist.dam = '\0';
             dist.shld = '\0';
             dist.tclose_pl = packet->argument2;
@@ -1566,9 +1569,9 @@
             makedistress (&dist, msg.mesg, rcm_msg[2].macro);
 #else
             (void) sprintf (msg.mesg, "GOD->ALL %s (%c%c) killed by %s (%c)",
-                            players[packet->argument].p_name,
-                            teamlet[players[packet->argument].p_team],
-                            shipnos[packet->argument],
+                            players[victim].p_name,
+                            teamlet[players[victim].p_team],
+                            shipnos[victim],
                             planets[(unsigned char) packet->argument2].
                             pl_name,
                             teamlet[planets

Index: distress.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/distress.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- distress.c	7 May 2006 16:59:27 -0000	1.3
+++ distress.c	26 May 2006 05:58:08 -0000	1.4
@@ -869,7 +869,7 @@
                 break;
 #endif
 
-            case '*':          /* push %} into buf */
+            case '*':          /* push %* into buf */
             case '}':          /* push %} into buf */
             case '{':          /* push %{ into buf */
             case '!':          /* push %! into buf */