Update of /cvsroot/netrek/client/netrekxp/src
In directory sc8-pr-cvs16:/tmp/cvs-serv17999/src

Modified Files:
	data.c feature.c input.c map.c mswindow.c socket.c 
Log Message:
Bug fix using = when should have used ==.
Added support for server feature packets TURN_KEYS
and SHOW_VISIBILITY_RANGE, client will only be allowed
to show visibility range on galactic if server allows it.  Same
with using keypad to turn ship.
Changed CHECK_PLANETS to send a request for a planet
cross-check at a rate of 10 planets/second, rather than
updating all planets at once.  Also, dashboard packet
lights will no longer show packet requests from CP_PLANET.

Index: mswindow.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/mswindow.c,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- mswindow.c	22 Apr 2007 07:24:30 -0000	1.78
+++ mswindow.c	23 Apr 2007 07:19:30 -0000	1.79
@@ -1888,7 +1888,7 @@
         {
             if (wParam == SC_MAXIMIZE)
                 mainMaximized = 1;
-            else if (wParam = SC_RESTORE)
+            else if (wParam == SC_RESTORE)
                 mainMaximized = 0;
         }
         break;

Index: input.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/input.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- input.c	14 Apr 2007 07:44:35 -0000	1.36
+++ input.c	23 Apr 2007 07:19:30 -0000	1.37
@@ -3545,6 +3545,9 @@
 {
     unsigned char course;
 
+    /* Server must allow turn keys */
+    if (!F_turn_keys) return;
+
     /* Observers can't turn */
     if (me->p_flags & PFOBSERV) return;
 
@@ -3561,6 +3564,9 @@
 {
     unsigned char course;
 
+    /* Server must allow turn keys */
+    if (!F_turn_keys) return;
+
     /* Observers can't turn */
     if (me->p_flags & PFOBSERV) return;
 

Index: socket.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/socket.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- socket.c	9 Apr 2007 07:46:13 -0000	1.28
+++ socket.c	23 Apr 2007 07:19:30 -0000	1.29
@@ -1550,8 +1550,13 @@
 #endif
 
     if (packetLights)
-        light_send();
- 
+    {
+    	// Planet cross-checks get sent very rapidly, thus negating the
+    	// usefulness of packet lights.
+    	if (packet->type != CP_PLANET)
+            light_send();
+    }
+
     if (commMode == COMM_UDP)
     {
         /* for now, just sent everything via TCP */

Index: data.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/data.c,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -d -r1.85 -r1.86
--- data.c	18 Apr 2007 09:41:32 -0000	1.85
+++ data.c	23 Apr 2007 07:19:30 -0000	1.86
@@ -686,6 +686,8 @@
 int F_show_army_count = 0;
 int F_show_other_speed = 0;
 int F_show_cloakers = 0;
+int F_turn_keys = 0;
+int F_show_visibility_range = 0;
 
 #ifdef RECORDGAME
 int F_many_self = 0;

Index: feature.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/feature.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- feature.c	5 Apr 2007 12:57:22 -0000	1.14
+++ feature.c	23 Apr 2007 07:19:30 -0000	1.15
@@ -97,6 +97,8 @@
     {"SHOW_ARMY_COUNT", &F_show_army_count, 'S', 1, 0, 0},
     {"SHOW_OTHER_SPEED", &F_show_other_speed, 'S', 1, 0, 0},
     {"SHOW_CLOAKERS", &F_show_cloakers, 'S', 1, 0, 0},
+    {"TURN_KEYS", &F_turn_keys, 'S', 1, 0, 0},
+    {"SHOW_VISIBILITY_RANGE", &F_show_visibility_range, 'S', 1, 0, 0},
     {0, 0, 0, 0, 0, 0}
 };
 
@@ -278,6 +280,8 @@
     F_show_army_count = 1;
     F_show_other_speed = 1;
     F_show_cloakers = 1;
+    F_turn_keys = 1;
+    F_show_visibility_range = 1;
 #endif
 #endif /* BEEPLITE */
 }

Index: map.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/map.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- map.c	14 Apr 2007 02:56:19 -0000	1.52
+++ map.c	23 Apr 2007 07:19:30 -0000	1.53
@@ -504,8 +504,10 @@
 
     for (l = planets + MAXPLANETS - 1; l >= planets; --l)
     {
-        /* Synchronize planet info (up to 10 times/second) for current orbitted planet
-           and once every 5 seconds for all other planets we have info on */
+        /* Synchronize planet info (up to 10 times/second) for current orbitted
+           planet.  For all other planets, send info on planet 0 through planet
+           MAXPLANETS every MAXPLANETS/10 seconds, one planet at a time,
+           10 times/second.  Only send info is planet is "touched" */
         if (F_check_planets)
         {
             if ((me->p_flags & PFORBIT)
@@ -518,11 +520,9 @@
                         orbit_planet_refresh = 0;
                 }
             }
-            else if (l->pl_info & me->p_team)
-            {
-                if ((planet_refresh * 10 / server_ups) >= 50)
-                        sendPlanetsPacket(l->pl_no);
-            }
+            else if ((planet_refresh == l->pl_no * server_ups / 10)
+                 && (l->pl_info & me->p_team))
+                sendPlanetsPacket(l->pl_no);
         }
 
         if (!(l->pl_flags & PLREDRAW))
@@ -984,7 +984,7 @@
     /* Increment counter for requesting planet sync (F_check_planets) */
     if (F_check_planets)
     {
-        if ((planet_refresh * 10 / server_ups) >= 50)
+        if ((planet_refresh * 10 / server_ups) >= MAXPLANETS)
             planet_refresh = 0;
         else
             planet_refresh++;
@@ -1112,7 +1112,8 @@
 #endif
 
 	/* Draw range circle */
-	if (viewRange && (myPlayer(j) || isObsLockPlayer(j))
+	if (viewRange && F_show_visibility_range
+	    && (myPlayer(j) || isObsLockPlayer(j))
 	    && j->p_ship.s_type != STARBASE)
         {
           /* Orbitting any non-owned planet gets you seen,