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

Modified Files:
	dashboard.c data.c death.c defaults.c local.c map.c mswindow.c 
	newwin.c option.c parsemeta.c stampver.inf vccnetrek.rc 
Log Message:
Version number change from 4 4 0 4 to 1 0 0 0
Hopefully fixed redraw problem with beeplite not refreshing planets on the planet map
Changed to constant border redraw vs. only redraw border on alert change - fixes some
problems with the new bitmap sets
Fix to detcircle and shield drawing for observers watching someone who cloaked..it would
miss a draw during the cloak cycle
Added "rotatePlanets: (on)/off" to use rotating planet graphics, only works with new
 planet bitmaps
Rotating planets!  Well, just the unknown (?) planet for now, lack of art is the holdup,
it might be awhile till the rest of the planets are done
Fixed tractor/pressors which overlap window border so that they don't overwrite border
Fixed continueTractors option (it wasn't working at all)

Index: death.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/death.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- death.c	22 May 2006 08:27:53 -0000	1.9
+++ death.c	2 Jun 2006 21:06:55 -0000	1.10
@@ -54,11 +54,12 @@
         {
             W_ChangeBorder (w, gColor);
             W_ChangeBorder (mapw, gColor);
+            alertBorderColor = gColor;
         }
+        else
+            alertBorderColor = W_White;
         W_ChangeBorder (baseWin, gColor);
         oldalert = PFGREEN;
-        if (doubleBuffering)  /* Force a border refresh */
-            oldalert = 0;
     }
     if (W_IsMapped (statwin))
     {

Index: mswindow.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/mswindow.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- mswindow.c	31 May 2006 03:59:27 -0000	1.29
+++ mswindow.c	2 Jun 2006 21:06:55 -0000	1.30
@@ -566,7 +566,11 @@
     free (planet_bitmaps[5]);
     free (planet_bitmaps[6]);
     free (planet_bitmaps[7]);
-    free (planet_unknown);
+    for (i = 0; i < CPLANET_VIEWS; i++)
+    {
+        free (planet_unknown[i]);
+    }
+    free (planet_unknown_NR);
     free (mplanet_bitmaps[0]);
     free (mplanet_bitmaps[1]);
     free (mplanet_bitmaps[2]);
@@ -576,7 +580,7 @@
     free (mplanet_bitmaps[6]);
     free (mplanet_bitmaps[7]);
     free (mplanet_unknown);
-    
+
     free (army_bitmap);
     free (marmy_bitmap);
     free (wrench_bitmap);
@@ -3129,7 +3133,7 @@
     register int Md /* Major direction */ , md; /* minor direction */
 /* 3 blank, 1 solid... etc. -SAC */
     int dashdesc[] = { 10, 1 };
-
+    RECT r;
     DBHEADER_VOID;
 
     dashdesc[0] = tpDotDist;
@@ -3146,7 +3150,7 @@
         SelectPalette (hdc, NetrekPalette, FALSE);
         RealizePalette (hdc);
     }
-
+    
     border = win->border;
     x0 += border;
     y0 += border;
@@ -3154,6 +3158,12 @@
     y1 += border;
     d2 = abs (x0 - x1);
     d3 = abs (y0 - y1);
+    // Get cliprect so tractor lines don't overdraw border
+    r.left = border;
+    r.right = win->ClipRect.right;
+    r.top = border;
+    r.bottom = win->ClipRect.bottom;
+
     if (d2 > d3)
     {
         /* Major axis is x */
@@ -3170,7 +3180,7 @@
 
         while ((Md == 1 ? x0 <= x1 : x0 >= x1))
         {
-            if (dp & 1)         // An odd number
+            if (dp & 1 && (x0 > r.left && x0 < r.right))         // An odd number
                 SetPixel (hdc, x0, y0, colortable[color].rgb);
             dc--;
             if (dc < 1)
@@ -3210,7 +3220,7 @@
 
         while ((Md == 1 ? y0 <= y1 : y0 >= y1))
         {
-            if (dp & 1)         // An odd number
+            if (dp & 1 && (y0 > r.top && y0 < r.bottom))         // An odd number
                 SetPixel (hdc, x0, y0, colortable[color].rgb);
             dc--;
             if (dc < 1)

Index: dashboard.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/dashboard.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- dashboard.c	29 May 2006 23:59:53 -0000	1.9
+++ dashboard.c	2 Jun 2006 21:06:55 -0000	1.10
@@ -886,9 +886,9 @@
             if ((planets[me->p_planet].pl_flags & PLREPAIR)
             &&(obs || !(planets[me->p_planet].pl_owner & (plr->p_swar | plr->p_hostile))))
                 me->p_subshield += me->p_ship.s_repair * 4;
-            if (me->p_flags & PFDOCK)
-    	        me->p_subshield += me->p_ship.s_repair * 6;
     	}
+    	if (me->p_flags & PFDOCK)
+    	    me->p_subshield += me->p_ship.s_repair * 6;
         /* Calculate time needed to repair shields */
         shieldrate = (float)(me->p_subshield)/(float)100.0;
         shieldtime = (int)(shieldneeded/shieldrate);
@@ -908,9 +908,9 @@
     	    if ((planets[me->p_planet].pl_flags & PLREPAIR)
     	    && (obs || !(planets[me->p_planet].pl_owner & (plr->p_swar | plr->p_hostile))))
     	        me->p_subdamage += me->p_ship.s_repair * 2;
-    	    if (me->p_flags & PFDOCK)
-    	        me->p_subdamage += me->p_ship.s_repair * 3;
     	}
+    	if (me->p_flags & PFDOCK)
+    	    me->p_subdamage += me->p_ship.s_repair * 3;
 	/* Calculate time needed to repair hull */
     	hullrate = (float)(me->p_subdamage)/(float)100.0;
         hulltime = (int)(hullneeded/hullrate);

Index: newwin.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/newwin.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- newwin.c	30 May 2006 01:10:36 -0000	1.34
+++ newwin.c	2 Jun 2006 21:06:55 -0000	1.35
@@ -637,12 +637,25 @@
                             BMP_CPLANET_HEIGHT);
     }
                         
-    /* Load the unknown planet bitmap */
-    planet_unknown =
+    /* Load the rotating unknown planet bitmap */
+    planet_unknown_bitmap =
         W_StoreBitmap3 ("bitmaps/planlibm/color/unknown.bmp",
-                        BMP_CPLANET_WIDTH, BMP_CPLANET_HEIGHT, BMP_PLANET_UNKNOWN, w,
-                        LR_DEFAULTCOLOR);
+                        BMP_CPLANET_WIDTH, BMP_CPLANET_HEIGHT * CPLANET_VIEWS,
+                        BMP_PLANET_UNKNOWN, w, LR_DEFAULTCOLOR);
     
+    /* Make pointers to the rotating unknown bitmaps */
+    for (j = 0; j < CPLANET_VIEWS; j++)
+    {
+    	planet_unknown[j] =
+    	    W_PointBitmap2 (planet_unknown_bitmap, 0, j, BMP_CPLANET_WIDTH,
+                            BMP_CPLANET_HEIGHT);
+    }
+    /* Load the non-rotating unknown planet bitmap - use map version of bitmap */
+    planet_unknown_NR =
+        W_StoreBitmap3 ("bitmaps/planlibm/color/munknown.bmp",
+                        BMP_CPLANET_WIDTH, BMP_CPLANET_HEIGHT, BMP_PLANET_UNKNOWN_NR, w,
+                        LR_DEFAULTCOLOR);
+
     /* Load the resource bitmaps */
     army_bitmap =
         W_StoreBitmap3 ("bitmaps/planlibm/color/army.bmp",
@@ -728,11 +741,11 @@
     	    W_PointBitmap2 (mplanet_bitmaps[7], j, 0, BMP_CPLANET_WIDTH,
                             BMP_CPLANET_HEIGHT);
     }
-                        
+
     /* Load the unknown planet bitmap */
     mplanet_unknown =
-        W_StoreBitmap3 ("bitmaps/planlibm/color/unknown.bmp",
-                        BMP_CPLANET_WIDTH, BMP_CPLANET_HEIGHT, BMP_PLANET_UNKNOWN, mapw,
+        W_StoreBitmap3 ("bitmaps/planlibm/color/munknown.bmp",
+                        BMP_CPLANET_WIDTH, BMP_CPLANET_HEIGHT, BMP_PLANET_MUNKNOWN, mapw,
                         LR_DEFAULTCOLOR);
     
     /* Load the resource bitmaps */
@@ -1082,6 +1095,7 @@
 
     planetBitmap = intDefault ("planetBitmap", planetBitmap);
     planetBitmapGalaxy = intDefault ("planetBitmapGalaxy", planetBitmapGalaxy);
+    rotatePlanets = booleanDefault ("rotatePlanets", rotatePlanets);
     loadplanetsC();  // Always load new color planet bitmaps..for now
     loadmplanetsC();
     switch (planetBitmap) // Case 3 = new color, but we never use Planlib
@@ -2035,7 +2049,7 @@
 void
 redrawQuit (void)
 {
-    W_WriteText (qwin, 5, 5, textColor, "Quit NetrekXP", 13, W_RegularFont);
+    W_WriteText (qwin, 5, 5, textColor, "Quit Netrek XP", 14, W_RegularFont);
 }
 
 #define CLOCK_BDR       0
@@ -2092,7 +2106,7 @@
         ty = 2*(cy - W_Textheight / 2)/3;
         W_MaskText (qwin, tx, ty, W_Black, buf, strlen (buf), W_RegularFont);
 
-        cp = "Quit NetrekXP";
+        cp = "Quit Netrek XP";
     }
     else
     {

Index: local.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/local.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- local.c	29 May 2006 23:59:53 -0000	1.36
+++ local.c	2 Jun 2006 21:06:55 -0000	1.37
@@ -35,7 +35,7 @@
 #else
 static int clearline[4][MAXPLAYER + 2 * MAXPLAYER];
 #endif
-
+static int planet_frame = 0;
 #ifdef SOUND
 static int sound_phaser = 0;
 static int sound_other_phaser = 0;
@@ -396,9 +396,14 @@
         }
         return planet_bits[i];
     }
-    else
+    else // Unknown planet
     {
-        return planet_unknown;
+    	if ((planet_frame >= CPLANET_VIEWS - 1) || (planet_frame < 0))
+            planet_frame = 0;
+        if (rotatePlanets)
+            return planet_unknown[planet_frame];
+        else
+            return planet_unknown_NR;
     }
 }
 
@@ -560,10 +565,10 @@
         }
         if (planetBitmap == 3) // Needs adjusting
         {
-            clearzone[0][clearcount] = dx - (7 * BMP_PLANET_WIDTH / 8);
+            clearzone[0][clearcount] = dx - (7 * BMP_PLANET_WIDTH / 8 + 1);
             clearzone[1][clearcount] = dy - (5 * BMP_PLANET_HEIGHT / 6);
-            clearzone[2][clearcount] = 7 * BMP_PLANET_WIDTH / 4 + 1;
-            clearzone[3][clearcount] = 4 * BMP_PLANET_HEIGHT / 3 + 1;
+            clearzone[2][clearcount] = 7 * BMP_PLANET_WIDTH / 4 + 2;
+            clearzone[3][clearcount] = 4 * BMP_PLANET_HEIGHT / 3;
         }
         else
         {
@@ -574,6 +579,7 @@
         }
         clearcount++;
     }
+    planet_frame++;
 }
 
 
@@ -994,8 +1000,8 @@
                 W_WriteBitmap (dx - (cloak_width / 2),
                                dy - (cloak_height / 2), cloakicon,
                                playerColor (j), w);
-                if (!myPlayer (j))      /* if myplayer draw the
-                                         * shield */
+                if (!myPlayer (j) && !isObsLockPlayer(j))
+                /* if my player, or observing that player, draw the shield */
                     continue;
             }
 
@@ -1005,7 +1011,7 @@
 	    if ((useLite && emph_player_seq_n[j->p_no] > 0)
 	      && (liteflag & LITE_PLAYERS_LOCAL))
 	    {
-	        int     seq_n = emph_player_seq_n[j->p_no] % emph_player_seql_frames;
+	        int seq_n = emph_player_seq_n[j->p_no] % emph_player_seql_frames;
 	        W_WriteBitmap (dx - (emph_player_seql_width / 2),
 			       dy - (emph_player_seql_height / 2),
 			       emph_player_seql[seq_n],
@@ -1648,7 +1654,7 @@
                     }
                 }
             }
-            else if (!(j->p_flags & PFPRESS || j->p_flags & PFTRACT))
+            else if ((myPlayer(j) || isObsLockPlayer(j))&& !(j->p_flags & PFPRESS || j->p_flags & PFTRACT))
                 tcounter = 2;
         }
     }
@@ -2193,7 +2199,6 @@
     int ex, ey, sx, sy;
 #endif
 
-
 #ifdef HOCKEY_LINES
     if (showHockeyLinesLocal && hockey_mode ())
         for (sl = local_hockey_lines + NUM_HOCKEY_LINES - 1;
@@ -2344,12 +2349,10 @@
             {
                 W_ChangeBorder (w, gColor);
                 W_ChangeBorder (mapw, gColor);
+                alertBorderColor = gColor;
             }
             else
-            {
-                W_ChangeBorder (w, W_White);
-                W_ChangeBorder (mapw, W_White);
-            }
+                alertBorderColor = W_White;
             W_ChangeBorder (baseWin, gColor);
 
 #if defined(SOUND)
@@ -2369,12 +2372,10 @@
             {
                 W_ChangeBorder (w, yColor);
                 W_ChangeBorder (mapw, yColor);
+                alertBorderColor = yColor;
             }
             else
-            {
-                W_ChangeBorder (w, W_White);
-                W_ChangeBorder (mapw, W_White);
-            }
+                alertBorderColor = W_White;
             W_ChangeBorder (baseWin, yColor);
 
 #if defined(SOUND)
@@ -2398,12 +2399,10 @@
             {
                 W_ChangeBorder (w, rColor);
                 W_ChangeBorder (mapw, rColor);
+                alertBorderColor = rColor;
             }
             else
-            {
-                W_ChangeBorder (w, W_White);
-                W_ChangeBorder (mapw, W_White);
-            }
+                alertBorderColor = W_White;
             W_ChangeBorder (baseWin, rColor);
             
 #if defined(SOUND)
@@ -2416,6 +2415,12 @@
             break;
         }
     }
+    /* Force a border redraw */
+    else
+    {
+    	W_ChangeBorder (w, alertBorderColor);
+    	W_ChangeBorder (mapw, alertBorderColor);
+    }
 
 #if defined(SOUND)
     if (newSound)

Index: stampver.inf
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/stampver.inf,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- stampver.inf	21 Apr 2006 12:00:07 -0000	1.3
+++ stampver.inf	2 Jun 2006 21:06:55 -0000	1.4
@@ -1,5 +1,5 @@
 ;StampVer information file
-FileVersion=4.4.0.4
-ProductVersion=4.4.0.4
-;FileFormat=%a.%b.%c Build %04d (%td %tb %tY)
-;ProductFormat=%a.%b.%c Build %04d
+;FileVersion=1.0.0.0
+;ProductVersion=0.0.0.0
+;FileFormat=%a.%b.%c.%d
+;ProductFormat=%a.%b.%c.%d

Index: vccnetrek.rc
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/vccnetrek.rc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- vccnetrek.rc	12 May 2006 01:58:38 -0000	1.2
+++ vccnetrek.rc	2 Jun 2006 21:06:55 -0000	1.3
@@ -3,8 +3,8 @@
 MAIN ICON DISCARDABLE "main.ico"
 
 1 VERSIONINFO
-FILEVERSION 4, 4, 0, 4
-PRODUCTVERSION 4, 4, 0, 4
+FILEVERSION 1, 0, 0, 0
+PRODUCTVERSION 1, 0, 0, 0
 { BLOCK "StringFileInfo" 
 {  BLOCK "040904E4" 
  {

Index: map.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/map.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- map.c	31 May 2006 03:59:27 -0000	1.16
+++ map.c	2 Jun 2006 21:06:55 -0000	1.17
@@ -40,12 +40,16 @@
  *  Local Variables:
  *  
  *  roughMap[x][y]      -- Rough map of planets to help find overlaps.
- *  roughMap2[x][y]     -- Secondary rought map, to help with overlap.
+ *  roughMap2[x][y]     -- Secondary rough map, to help with overlap.
+ *  roughMap3[x][y]     -- Rough map of new planets to help find overlaps.
+ *  roughMap4[x][y]     -- Secondary rough map for new planets, to help with overlap.
  *  initialized         -- Has initPlanets() been called?
  */
 
 static signed char roughMap[DETAIL][DETAIL];
 static signed char roughMap2[DETAIL][DETAIL];
+static signed char roughMap3[DETAIL][DETAIL];
+static signed char roughMap4[DETAIL][DETAIL];
 static int initialized = 0;
 
 
@@ -79,7 +83,7 @@
     int startX, startY;
     int endX, endY;
     struct planet *pl;
-    const int pRadius = BMP_MPLANET_WIDTH * GWIDTH / WINSIDE / 2;
+    int pRadius;
     const int tHeight = W_Textheight * GWIDTH / WINSIDE;
     const int tWidth = W_Textwidth * GWIDTH / WINSIDE;
 
@@ -89,9 +93,20 @@
         {
             roughMap[x][y] = -1;
             roughMap2[x][y] = -1;
+            roughMap3[x][y] = -1;
+            roughMap4[x][y] = -1;
         }
     }
-
+    /* Treating the planet a little bigger makes beeplite flashes redraw planets more
+       consistently - I don't think this function was written with the possibility of a
+       ship cutting out twice it's normal size on the galactic map.  The player's ship gets
+       assigned to a x,y point and that is intersected with the rough planet map in a 
+       checkredraw call, which doesn't work so good if the player ship is beeplite highlited */ 
+#ifdef BEEPLITE
+    pRadius = 3 * BMP_MPLANET_WIDTH * GWIDTH / WINSIDE / 5;
+#else
+    pRadius = BMP_MPLANET_WIDTH * GWIDTH / WINSIDE / 2;
+#endif
     for (k = 0, pl = planets; k < MAXPLANETS; k++, pl++)
     {
         /*
@@ -130,33 +145,17 @@
             }
         }
     }
-
-    initialized = 1;
-}
-
-
-#ifdef none                     /* Debugging code */
-
-/******************************************************************************/
-/***  showRegions()
-/******************************************************************************/
-void
-showRegions (void)
-/*
- *  Make a rough map of the location of all the planets to help decide
- *  whether a ship is possibly overlapping a planet.
- */
-{
-    int x, y, k;
-    int startX, startY, centre;
-    int endX, endY;
-    struct planet *pl;
-    const int pRadius = BMP_MPLANET_WIDTH * GWIDTH / WINSIDE / 2;
-    const int tHeight = W_Textheight * GWIDTH / WINSIDE;
-    const int tWidth = W_Textwidth * GWIDTH / WINSIDE;
-
+    /* Now loop for the new planet bitmaps, which are roughly 50% wider */
+    pRadius = 3 * BMP_MPLANET_WIDTH * GWIDTH / WINSIDE / 4;
     for (k = 0, pl = planets; k < MAXPLANETS; k++, pl++)
     {
+        /*
+           Size of planet is pRadius but a ship will touch the planet if
+           it is one character away horizontally or half a character
+           vertically.  Also remember the planet name at the bottom.
+           This name can stick out about half a character to the right.
+         */
+
         startX = (pl->pl_x - pRadius - tWidth) / SIZE;
         endX = (pl->pl_x + pRadius + tWidth + (tWidth / 2)) / SIZE;
 
@@ -166,27 +165,28 @@
         if (startX < 0)
             startX = 0;
 
-        if (endX > DETAIL)
-            endX = DETAIL;
+        if (endX >= DETAIL)
+            endX = DETAIL - 1;
 
         if (startY < 0)
             startY = 0;
 
-        if (endY > DETAIL)
-            endY = DETAIL;
-
-        startX = startX * SIZE * WINSIDE / GWIDTH;
-        startY = startY * SIZE * WINSIDE / GWIDTH;
-        endX = (endX * SIZE + SIZE - 1) * WINSIDE / GWIDTH;
-        endY = (endY * SIZE + SIZE - 1) * WINSIDE / GWIDTH;
+        if (endY >= DETAIL)
+            endY = DETAIL - 1;
 
-        W_MakeLine (mapw, startX, startY, startX, endY, W_White);
-        W_MakeLine (mapw, startX, startY, endX, startY, W_White);
-        W_MakeLine (mapw, endX, endY, startX, endY, W_White);
-        W_MakeLine (mapw, endX, endY, endX, startY, W_White);
+        for (x = startX; x <= endX; x++)
+        {
+            for (y = startY; y <= endY; y++)
+            {
+                if (roughMap3[x][y] == -1)
+                    roughMap3[x][y] = (char) k;
+                else
+                    roughMap4[x][y] = (char) k;
+            }
+        }
     }
+    initialized = 1;
 }
-#endif  /* none */           /* Debugging code */
 
 /******************************************************************************/
 /***  checkRedraw()
@@ -205,17 +205,36 @@
     x /= SIZE;
     y /= SIZE;
 
-    i = roughMap[x][y];
-
-    if (i != -1)
+    if (planetBitmapGalaxy != 3)
     {
-        planets[i].pl_flags |= PLREDRAW;
-
-        i = roughMap2[x][y];
+        i = roughMap[x][y];
 
         if (i != -1)
         {
             planets[i].pl_flags |= PLREDRAW;
+    
+            i = roughMap2[x][y];
+    
+            if (i != -1)
+            {
+                planets[i].pl_flags |= PLREDRAW;
+            }
+        }
+    }
+    else
+    {
+        i = roughMap3[x][y];
+    
+        if (i != -1)
+        {
+            planets[i].pl_flags |= PLREDRAW;
+    
+            i = roughMap4[x][y];
+    
+            if (i != -1)
+            {
+                planets[i].pl_flags |= PLREDRAW;
+            }
         }
     }
 }
@@ -323,7 +342,7 @@
         }
         return mplanet_bits[i];
     }
-    else
+    else // Unknown planet
     {
         return mplanet_unknown;
     }
@@ -430,9 +449,9 @@
 
             /* XFIX */
             if (planetBitmapGalaxy == 3)  // Needs adjusting
-                W_ClearArea (mapw, odx - 7 * BMP_MPLANET_WIDTH / 8 - 1,
+                W_ClearArea (mapw, odx - (7 * BMP_MPLANET_WIDTH / 8 + 1),
                              ody - (5 * BMP_MPLANET_HEIGHT / 6),
-                             7 * BMP_MPLANET_WIDTH / 4, 4 * BMP_MPLANET_HEIGHT / 3);
+                             7 * BMP_MPLANET_WIDTH / 4 + 2, 4 * BMP_MPLANET_HEIGHT / 3);
             else
                 W_ClearArea (mapw, odx - (BMP_MPLANET_WIDTH / 2),
                              ody - (BMP_MPLANET_HEIGHT / 2),
@@ -448,9 +467,9 @@
 
             /* XFIX */
             if (planetBitmapGalaxy == 3)  // Needs adjusting
-                W_ClearArea (mapw, dx - 7 * BMP_MPLANET_WIDTH / 8 - 5,
-                             dy - (5 * BMP_MPLANET_HEIGHT / 6) - 4,
-                             7 * BMP_MPLANET_WIDTH / 4 + 8, 4 * BMP_MPLANET_HEIGHT / 3 + 8);
+                W_ClearArea (mapw, dx - (7 * BMP_MPLANET_WIDTH / 8 + 5),
+                             dy - (5 * BMP_MPLANET_HEIGHT / 6 + 4),
+                             7 * BMP_MPLANET_WIDTH / 4 + 10, 4 * BMP_MPLANET_HEIGHT / 3 + 8);
 
             else
                 W_ClearArea (mapw, dx - (BMP_MPLANET_WIDTH / 2 + 4),
@@ -465,7 +484,7 @@
 #ifdef BEEPLITE
         if (useLite && emph_planet_seq_n[l->pl_no] > 0)
 	{
-	    int     seq_n = emph_planet_seq_n[l->pl_no] % emph_planet_seq_frames;
+	    int seq_n = emph_planet_seq_n[l->pl_no] % emph_planet_seq_frames;
             
             if (planetBitmapGalaxy == 3)
             {
@@ -890,7 +909,7 @@
         if ((useLite && emph_player_seq_n[i] > 0)
 	  && (liteflag & LITE_PLAYERS_MAP))
 	{
-	    int     seq_n = emph_player_seq_n[i] % emph_player_seq_frames;
+	    int seq_n = emph_player_seq_n[i] % emph_player_seq_frames;
 
 	    W_WriteBitmap(dx - (emph_player_seq_width / 2 - 1),
 			  dy - (emph_player_seq_height / 2 + 1),

Index: data.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/data.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- data.c	28 May 2006 23:05:12 -0000	1.30
+++ data.c	2 Jun 2006 21:06:55 -0000	1.31
@@ -61,6 +61,7 @@
                                  * system support */
 int niftyNewMessages = 1;
 unsigned int oldalert = 0;
+int alertBorderColor = 0;
 int remap[16] = { 0, 1, 2, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0 };
 int messpend = 0;
 #ifdef XTRA_MESSAGE_UI
@@ -107,6 +108,7 @@
 
 int planetBitmap = 0;
 int planetBitmapGalaxy = 0;
+int rotatePlanets = 1;
 
 int logging = 0;
 int continueTractor = 1;
@@ -209,7 +211,7 @@
 
 #ifdef SHORT_PACKETS
 int why_dead = 0;
-int tryShort = 0;               /* for .xtrekrc option */
+int tryShort = 1;               /* for .xtrekrc option */
 int tryShort1 = 0;
 int recv_short = 0;
 int recv_mesg = 1;
@@ -313,7 +315,10 @@
     ori_bitmapsHR[NUM_TYPES], ind_bitmapsHR[NUM_TYPES];
 
 // Planets
-W_Icon planet_unknown, mplanet_unknown;
+W_Icon planet_unknown_bitmap;
+W_Icon planet_unknown[CPLANET_VIEWS];
+W_Icon planet_unknown_NR;
+W_Icon mplanet_unknown;
 W_Icon planet_bitmaps[8], mplanet_bitmaps[8];
 W_Icon planet_earth[NUMTEAMS], planet_klingus[NUMTEAMS], planet_orion[NUMTEAMS],
     planet_romulus[NUMTEAMS], planet_agri1[NUMTEAMS], planet_agri2[NUMTEAMS],

Index: parsemeta.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/parsemeta.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- parsemeta.c	25 May 2006 08:43:57 -0000	1.9
+++ parsemeta.c	2 Jun 2006 21:06:55 -0000	1.10
@@ -435,7 +435,7 @@
     }
 
     free (sockbuf);
-    metaWindowName = "NetrekXP MetaServer List";
+    metaWindowName = "Netrek XP 2006 MetaServer List";
 
     return 1;
 }

Index: option.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/option.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- option.c	28 May 2006 23:05:12 -0000	1.20
+++ option.c	2 Jun 2006 21:06:55 -0000	1.21
@@ -279,6 +279,7 @@
     {1, "Page %d (click to change)", &MenuPage, 0, 0, 0, NULL, &Menus_Range},
     {1, "", &planetBitmap, 0, 0, 0, planetbitmapmess, &planetbitmaprange},
     {1, "", &planetBitmapGalaxy, 0, 0, 0, planetbitmapgalaxymess, &planetbitmapgalaxyrange},
+    {1, "rotate planets (new planets only)", &rotatePlanets, 0, 0, 0, NULL, NULL},
     {1, "show planet names on local", &showPlanetNames, 0, 0, 0, NULL, NULL},
     {1, "show army count on orbit", &showArmy, 0, 0, 0, NULL, NULL},
     {1, "show owner on galactic", &showPlanetOwner, 0, 0, 0, NULL, NULL},
@@ -903,7 +904,6 @@
             W_ClearWindow (w);
             W_ClearWindow (mapw);
             redrawall = 1;
-            oldalert = 0; /* Force a border refresh */
         }
         else if (op->op_option == &partitionPlist)
             RedrawPlayerList ();

Index: defaults.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/defaults.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- defaults.c	28 May 2006 23:05:12 -0000	1.22
+++ defaults.c	2 Jun 2006 21:06:55 -0000	1.23
@@ -445,6 +445,12 @@
             NULL
         }
     },
+    {"rotatePlanets", &rotatePlanets, RC_BOOL,
+        {
+            "Rotate planets (only works with new planet bitmaps)",
+            NULL
+        }
+    },
     {"saveBig", &saveBig, RC_BOOL,
         {
             "Save options with comments",