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

Modified Files:
	dashboard3.c 
Log Message:
LABs dashboard adjusts for font size.

Index: dashboard3.c
===================================================================
RCS file: /cvsroot/netrek/client/netrekxp/src/dashboard3.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- dashboard3.c	6 Apr 2007 06:46:31 -0000	1.9
+++ dashboard3.c	13 Apr 2007 12:02:46 -0000	1.10
@@ -24,6 +24,32 @@
 #include "data.h"
 #include "proto.h"
 
+/* LABs dashboard width spacing is as follows:
+
+1/3 blank char, 12 1/2 text chars for db bar (speed), 5 blank pixels, 12 1/2 text
+chars for db bar (fuel), 5 blank pixels, 12 1/2 text chars for db bar (shield),
+5 blank pixels, 12 1/2 text chars for db bar (damage), 5 blank pixels, 12 1/2 text
+chars for db bar (engine), 4 blank chars, 12 chars for clock.
+For the normal text width (6 pixels) this works out to a dashboard width of:
+
+(1/3)*6 + 12.5*6 + 5 + 12.5*6 + 5 + 12.5*6 + 5 + 12.5*6 + 5 + 12.5*6 +
+        + 4*6 + 12*6 = 493 pixels
+
+To be safe, dash width should be defined as at least 83 chars wide, which it is
+in DashMaxWidth().
+
+Height spacing is as follows:
+2 blank pixels, first line of text, 2 blank pixels, second line of text, 8
+blank pixels, 3rd line of text.  For the normal text height (10 pixels)
+this works out to a dashboard height of:
+
+2 + 1*10 + 2 + 1*10 + 8 + 1*10 = 42 pixels
+
+To be safe, dash height should be defined as 4 times text height, which it is
+in newwin().
+
+*/
+
 /******************************************************************************/
 /***  db_itoa()                                                             ***/
 /******************************************************************************/
@@ -324,7 +350,8 @@
                 tdelay = time (0) + TOURNEXTENDTIME;
         }
 
-        W_WriteText (tstatw, 2, 32, W_White, buf, 13, W_RegularFont);
+        W_WriteText (tstatw, W_Textwidth/3, 12 + 2 * W_Textheight,
+                     W_White, buf, 13, W_RegularFont);
 
         old_flags = me->p_flags;
         old_tourn = status->tourn;
@@ -355,6 +382,8 @@
     static float old_kills = -1;
     static int old_torp = -1;
     int cur_max, cur_arm, label_len;
+    /* Was 75, too bad it wasn't defined as an even multiple of text width. */
+    register int BAR_LENGTH = W_Textwidth/2 + 12 * W_Textwidth;
     char label[32];
     float kills; 
     int torp;
@@ -374,10 +403,10 @@
         W_ClearWindow (tstatw);
 
     db_flags (fr);
-    db_special (fr, 160, 32);
+    db_special (fr, 12 + 2 * BAR_LENGTH, 12 + 2 * W_Textheight);
 
     /* TIMER */
-    db_timer (fr, 428, 32);
+    db_timer (fr, 22 + 5 * BAR_LENGTH + 4 * W_Textwidth, 12 + 2 * W_Textheight);
 
     light_erase();
 
@@ -391,29 +420,29 @@
         cur_max = 0;
     else if (cur_max > me->p_ship.s_maxspeed)
         cur_max = me->p_ship.s_maxspeed;
-    
+
     if (fr || (me->p_speed != old_spd) || (old_cur_max != cur_max))
     {
-        db_bar ("Spd", 2, 2, 75, 25,
+        db_bar ("Spd", W_Textwidth/3, 2, BAR_LENGTH, 2 * W_Textheight + 5,
                 me->p_ship.s_maxspeed, cur_max, me->p_speed, 1);
     }
 
     if (fr || (old_ful != me->p_fuel))
     {
-        db_bar ("Ful", 82, 2, 75, 25,
+        db_bar ("Ful", W_Textwidth/3 + BAR_LENGTH + 5, 2, BAR_LENGTH, 2 * W_Textheight + 5,
                 me->p_ship.s_maxfuel, me->p_ship.s_maxfuel, me->p_fuel, 0);
     }
 
     if (fr || (old_shl != me->p_shield))
     {
-        db_bar ("Shl", 162, 2, 75, 25,
+        db_bar ("Shl", W_Textwidth/3 + 2 * (BAR_LENGTH + 5), 2, BAR_LENGTH, 2 * W_Textheight + 5,
                 me->p_ship.s_maxshield,
                 me->p_ship.s_maxshield, me->p_shield, 0);
     }
 
     if (fr || (old_dam != me->p_damage))
     {
-        db_bar ("Dam", 242, 2, 75, 25,
+        db_bar ("Dam", W_Textwidth/3 + 3 * (BAR_LENGTH + 5), 2, BAR_LENGTH, 2 * W_Textheight + 5,
                 me->p_ship.s_maxdamage,
                 me->p_ship.s_maxdamage, me->p_damage, 1);
     }
@@ -422,14 +451,15 @@
     {
         if (fr || (old_wpn != me->p_wtemp))
         {
-            db_bar ("Wpn", 322, 2, 75, 25,
+            db_bar ("Wpn", W_Textwidth/3 + 4 * (BAR_LENGTH + 5), 2, BAR_LENGTH, 2 * W_Textheight + 5,
                     me->p_ship.s_maxwpntemp / 10,
                     me->p_ship.s_maxwpntemp / 10, me->p_wtemp / 10, 1);
         }
 
         if (fr || (old_egn != me->p_etemp))
         {
-            W_ClearArea (tstatw, 324, 32, 78, W_Textheight);
+            W_ClearArea (tstatw, W_Textwidth/3 + 4 * (BAR_LENGTH + 5) + 2,
+                         12 + 2 * W_Textheight, 13 * W_Textwidth, W_Textheight);
 
             label[0] = 'E';
             label[1] = 'g';
@@ -444,12 +474,12 @@
             if (me->p_etemp > (me->p_ship.s_maxegntemp / 2))
             {
                 W_WriteText (tstatw,
-                             324, 32, W_White, label, label_len, W_BoldFont);
+                             W_Textwidth/3 + 4 * (BAR_LENGTH + 5) + 2, 12 + 2 * W_Textheight, W_White, label, label_len, W_BoldFont);
             }
             else
             {
                 W_WriteText (tstatw,
-                             324, 32,
+                             W_Textwidth/3 + 4 * (BAR_LENGTH + 5) + 2, 12 + 2 * W_Textheight,
                              W_Grey, label, label_len, W_RegularFont);
             }
         }
@@ -458,14 +488,15 @@
     {
         if (fr || (old_egn != me->p_etemp))
         {
-            db_bar ("Egn", 322, 2, 75, 25,
+            db_bar ("Egn", W_Textwidth/3 + 4 * (BAR_LENGTH + 5), 2, BAR_LENGTH, 2 * W_Textheight + 5,
                     me->p_ship.s_maxegntemp / 10,
                     me->p_ship.s_maxegntemp / 10, me->p_etemp / 10, 1);
         }
 
         if (fr || (old_wpn != me->p_wtemp))
         {
-            W_ClearArea (tstatw, 324, 32, 78, W_Textheight);
+            W_ClearArea (tstatw, W_Textwidth/3 + 4 * (BAR_LENGTH + 5) + 2,
+                        12 + 2 * W_Textheight, 13 * W_Textwidth, W_Textheight);
 
             label[0] = 'W';
             label[1] = 'p';
@@ -480,12 +511,12 @@
             if (me->p_wtemp > (me->p_ship.s_maxwpntemp / 2))
             {
                 W_WriteText (tstatw,
-                             324, 32, W_White, label, label_len, W_BoldFont);
+                             W_Textwidth/3 + 4 * (BAR_LENGTH + 5) + 2, 12 + 2 * W_Textheight, W_White, label, label_len, W_BoldFont);
             }
             else
             {
                 W_WriteText (tstatw,
-                             324, 32,
+                             W_Textwidth/3 + 4 * (BAR_LENGTH + 5) + 2, 12 + 2 * W_Textheight,
                              W_Grey, label, label_len, W_RegularFont);
             }
         }
@@ -503,7 +534,8 @@
         
     if (fr || (old_arm != me->p_armies) || (old_cur_arm != cur_arm))
     {
-        W_ClearArea (tstatw, 402, 2, 98, W_Textheight);
+        W_ClearArea (tstatw, W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 2,
+                     16 * W_Textwidth, W_Textheight);
 
         if (cur_arm > 0)
         {
@@ -522,24 +554,25 @@
             if (me->p_armies >= cur_arm)
             {
                 W_WriteText (tstatw,
-                             402, 2, W_Red, label, label_len, W_BoldFont);
+                             W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 2, W_Red, label, label_len, W_BoldFont);
             }
             else if (me->p_armies > 0)
             {
                 W_WriteText (tstatw,
-                             402, 2, W_Yellow, label, label_len, W_BoldFont);
+                             W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 2, W_Yellow, label, label_len, W_BoldFont);
             }
             else
             {
                 W_WriteText (tstatw,
-                             402, 2, W_Green, label, label_len, W_BoldFont);
+                             W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 2, W_Green, label, label_len, W_BoldFont);
             }
         }
     }
 
     if (fr || (old_kills != kills))
     {
-        W_ClearArea (tstatw, 402, 4 + W_Textheight, 98, W_Textheight);
+        W_ClearArea (tstatw, W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 4 + W_Textheight,
+                     13 * W_Textwidth, W_Textheight);
 
         if (kills > 0.0)
         {
@@ -556,19 +589,19 @@
             if (cur_arm > 4)
             {
                 W_WriteText (tstatw,
-                             402, 4 + W_Textheight,
+                             W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 4 + W_Textheight,
                              W_White, label, label_len, W_BoldFont);
             }
             else if (cur_arm > 1)
             {
                 W_WriteText (tstatw,
-                             402, 4 + W_Textheight,
+                             W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 4 + W_Textheight,
                              W_White, label, label_len, W_RegularFont);
             }
             else
             {
                 W_WriteText (tstatw,
-                             402, 4 + W_Textheight,
+                             W_Textwidth/3 + 5 * (BAR_LENGTH + 5), 4 + W_Textheight,
                              W_Grey, label, label_len, W_RegularFont);
             }
         }
@@ -578,7 +611,8 @@
     
     if (fr || (old_torp != torp))
     {
-    	W_ClearArea (tstatw, 242, 32, 72, W_Textheight);
+    	W_ClearArea (tstatw, W_Textwidth/3 + 3 * (BAR_LENGTH + 5), 12 + 2 * W_Textheight,
+    	             12 * W_Textwidth, W_Textheight);
     	
         if (torp > 0)
         {
@@ -593,7 +627,7 @@
             label_len = 8 + db_itoa (&label[8], torp);
             
             W_WriteText (tstatw,
-                         242, 32,
+                         W_Textwidth/3 + 3 * (BAR_LENGTH + 5), 12 + 2 * W_Textheight,
                          W_White, label, label_len, W_RegularFont);
         }
         old_torp = torp;